SP=1190H,执行了PUSH指令后,SP=?
时间: 2023-08-21 21:03:44 浏览: 233
执行PUSH指令后,SP的值会减去入栈数据的大小,以便为入栈数据腾出空间。根据x86架构的规定,PUSH指令会将栈顶指针SP减2,然后将指定的数据(通常是寄存器中的数据)压入堆栈中。假设要压入的数据为16位,那么执行PUSH指令后,SP的值应该会减2。因此,在SP=1190H的情况下执行PUSH指令后,SP的值应该变为118EH。
相关问题
sp=1190H,执行了PUSH指令后,SP=1192H
这是正确的。因为在执行 PUSH 指令时,栈指针 SP 会先减去 2,然后再将数据压入栈中。因此,如果 SP 的初始值为 1190H,执行 PUSH 指令后,SP 的值会变成 1190H - 2 = 118EH,然后数据被压入栈中,SP 的值再次加上 2,变成 1190H。所以,执行 PUSH 指令后,SP 的值应该是 1190H,而不是 1192H。
设SP=1110,执行PUSH AX指令后,SP的内容是什么
假设初始时,AX寄存器中的内容为1010。
执行PUSH AX指令后,先将AX寄存器中的内容压入栈中,即栈顶指针SP减2,栈顶单元存放AX的内容1010,此时SP的值变为1108。
然后,将SP的值存入SS段寄存器中,即SS寄存器中的内容变为1100H,将SP的高8位存入SP寄存器中,即SP寄存器中的内容变为0011H。
所以,执行PUSH AX指令后,SP的内容是1108。