gpt4 book ai didi

assembly - 为什么在PUSHA指令中执行PUSH BX之前先执行PUSH CX

转载 作者:行者123 更新时间:2023-12-02 07:01:53 25 4
gpt4 key购买 nike

我一直在学习x86汇编语言,PUSHA指令产生了一个问题。

据我所知,Pusha和PUSH AX, CX, DX, BX, original SP, BP, SI, DI一样。
我想知道的是为什么在 PUSHA 指令中执行 PUSH BX 之前执行 PUSH CX。

有没有硬件架构方面的原因?

最佳答案

通用寄存器不按字母顺序排列,字母是单词的缩写:

AX => Accumulator register
BX => Base register
CX => Counter register
DX => Data register

大多数人使用AXBXCXDX,因为它更容易记住,但对于体系结构,顺序实际上是AXCXDXBX,这可以是操作码中的注释说明:

 opcode | instruction
--------+------------------
B80000 | MOV AX,0000
B90000 | MOV CX,0000
BA0000 | MOV DX,0000
BB0000 | MOV BX,0000
50 | PUSH AX
51 | PUSH CX
52 | PUSH DX
53 | PUSH BX

关于assembly - 为什么在PUSHA指令中执行PUSH BX之前先执行PUSH CX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19579949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com