Я начинаю с asm, поэтому я некоторое время занимался исследованием своего вопроса, но, похоже, был неудовлетворительным. Мне интересно, как отображать содержимое PSW на стандартном выходе. Другое дело, как отображать значение указателя инструкций? Я был бы очень признателен, если бы ypu мог дать мне подсказку (или, лучше, код кода). Это может быть masm или 8086 (на самом деле я не знаю, какая разница):Отображение содержимого PSW
ответ
Указатель команд не доступен непосредственно в семействе x86, однако довольно просто получить его значение - оно никогда не будет точным. Поскольку вызов подпрограммы помещает обратный адрес в стек, вам просто нужно его скопировать и выполнить! У вас есть адрес опкодом следуя инструкции call
:
proc getInstructionPointer
push bp
mov bp,sp
mov ax,[word ptr ss:bp + 2]
mov sp,bp
pop bp
ret
endp getInstructionPointer
ЗУ на x86 называется регистр флагов. Есть две операции, которые явно ссылаются на нее: pushf
и popf
. Как вы уже догадались, вы можете просто нажать на флаги в стек и загрузить его в любой регистра общего назначения вам нравится:
pushf
pop ax
Отображение этих значений состоит из преобразования их значения ASCII и записывать их на экран. Есть несколько способов сделать это - найти «сборку строк», я уверен, вы нашли ответ.
Чтобы устранить незначительную путаницу: 8086 - это сам процессор, тогда как MASM - это ассемблер. Синтаксис специфичен для ассемблера; Узел MASM - сборка x86. Сборка TASM также является сборкой x86, как и сборка NASM. Когда кто-то говорит «x86 Assembly», он ссылается на любую из этих (или других), говоря о наборе команд, а не диалекте.
Обратите внимание, что приведенные выше примеры являются 16bit, indtended для 8086 и не будет работать на 80386+ в 32-битном режиме
- 1. C++ отображение содержимого каталогов
- 2. Отображение содержимого JSON
- 3. Отображение содержимого регистра
- 4. Отображение содержимого объекта
- 5. Отображение содержимого страницы xml
- 6. Отображение содержимого в ListView
- 7. Отображение содержимого массива
- 8. отображение содержимого веб-страницы
- 9. Отображение содержимого веб-scrape
- 10. Отображение содержимого определенной папки
- 11. Drupal - отображение содержимого узла
- 12. Отображение содержимого регистра IP
- 13. Отображение содержимого всего массива
- 14. Отображение содержимого ASP.NET
- 15. отображение содержимого [object HTMLDivElement]
- 16. CustomTableView not Отображение содержимого
- 17. Отображение содержимого связанной модели
- 18. Отображение содержимого массива
- 19. J2ME Отображение содержимого
- 20. отображение содержимого json
- 21. Отображение содержимого массива
- 22. Отображение содержимого буфера OpenglES
- 23. Отображение содержимого вектора
- 24. Отображение текстового содержимого
- 25. Неверное отображение содержимого xls
- 26. Отображение содержимого списка
- 27. Отображение содержимого в HTML
- 28. Отображение содержимого представления TSQL
- 29. JT400 - Отображение содержимого SpooledFile
- 30. Запись значения поля psw в .xml (md5)