Je suis débutant avec asm, donc j'ai fait des recherches pour ma question pendant un moment, mais les réponses étaient insatisfaisantes. Je me demande comment afficher le contenu PSW sur la sortie standard. Autre chose, comment afficher la valeur Instruction Pointer? Je serais très reconnaissant si ypu pourrait me donner un indice (ou mieux une égratignure de code). Il peut être masm ou 8086 aussi (en fait je ne sais pas quelle est la différence :))Afficher le contenu PSW
Répondre
Le pointeur d'instruction n'est pas directement accessible sur la famille x86, cependant, il est assez simple de récupérer sa valeur - il ne sera jamais précis cependant. Puisqu'un appel de sous-programme place l'adresse de retour sur la pile, il vous suffit de la copier à partir de là et de violer! Vous avez l'adresse de l'opcode suivant les instructions call
:
proc getInstructionPointer
push bp
mov bp,sp
mov ax,[word ptr ss:bp + 2]
mov sp,bp
pop bp
ret
endp getInstructionPointer
Le PSW sur le x86 est appelé le registre de drapeaux. Deux opérations le référencent explicitement: pushf
et popf
. Comme vous l'aurez deviné, vous pouvez simplement pousser les drapeaux sur la pile et le charger à des fins générales de votre inscription aimez:
pushf
pop ax
L'affichage de ces valeurs consiste à convertir leurs valeurs en ASCII et de les écrire sur l'écran. Il y a plusieurs façons de le faire - recherche de "chaîne de sortie", je parie que vous trouvez la réponse.
Pour dissiper une confusion mineure: 8086 est le processeur lui-même, alors que MASM est l'assembleur. La syntaxe est spécifique à l'assembleur; L'assemblage MASM est un assemblage x86. L'assemblage TASM est également un assemblage x86, tout comme l'assemblage NASM. Quand on dit "Assemblage x86", il fait référence à l'un d'entre eux (ou à d'autres), en parlant du jeu d'instructions, pas du dialecte.
Notez que les exemples ci-dessus sont 16bit, indtended pour 8086 et ne fonctionnera pas sur 80386+ en mode 32bit
- 1. Javascript afficher le contenu
- 2. Afficher le contenu caché
- 3. Afficher le contenu d'une DLL
- 4. Afficher le contenu avec jQuery
- 5. Afficher le contenu de NSMutableDictionary
- 6. Afficher le contenu de GridView
- 7. django afficher le contenu manytomanyfield
- 8. comment afficher le contenu blob
- 9. Comment afficher le contenu pdf?
- 10. Comment afficher/masquer le contenu
- 11. Masquer le contenu visible afficher avant le prochain contenu
- 12. 8051 - PSW étant réglé sur 0x80 après CJNE
- 13. Ecriture d'une valeur de champ psw en .xml (md5)
- 14. jquery afficher/masquer le contenu du bouton radio (la sélection par défaut doit afficher le contenu)
- 15. Afficher les fichiers utilisateur locaux et afficher le contenu
- 16. Afficher le contenu de l'URL et afficher les liens
- 17. CSS on hover Afficher le contenu
- 18. CSS ne pas afficher le contenu correctement
- 19. WINDBG, comment afficher le contenu d'un tableau?
- 20. JavaScript afficher le contenu à distance
- 21. Afficher dynamiquement le contenu de la grille
- 22. Afficher le contenu dans Modal Popup
- 23. Menu CSS Dropdowns Afficher derrière le contenu
- 24. Afficher masquer le contenu de jquery
- 25. jQuery cacher, changer le contenu, afficher
- 26. Ne pas afficher le contenu dans IE
- 27. Cacher/afficher le contenu html avec javascript
- 28. Comment afficher le contenu du fichier .db?
- 29. Afficher le contenu de 2 tables
- 30. Afficher le contenu après Facebook J'aime