我无法理解处理器到底在做什么以及为什么在我的 asm32 作业中
MOV DX,07c8
XCHG DL,DH
MOV WORD PTR Vet[93],DX
ROR BYTE PTR Vet[94],5
PUSH WORD PTR Vet[93]
POP Ris1
据我了解,它应该是这样的:
1.DX注册表=07C8
2.DX=C807
3.兽医[93]=07,兽医[94]=C8
4.C8 变为 46 所以 Vet[93]=07,vet[94]46
5.我推07然后我推46
6.我弹出两次(因为 Ris1 的大小是 32 位)并且因为我必须首先弹出最后一个推送的值,所以我得到 46 07(十六进制)作为 Ris1 的结果。
编译器本身显示结果确实是 46 07 h,我很难理解的是为什么它是 46 07h 而不是 07 46h ......我猜它与 push and pop 命令有关,但我不确定......
它与小端/大端有关还是我猜对了?
谢谢你的时间^^。