题目如下图所示,执行下面命令后,sp,bp,ax,bx分别是多少,答案选A

1.PUSH AX: 这条指令将AX寄存器的内容(8A4BH)推入栈中。栈是向下增长的,所以SP将从2000H减少2,变为1FFEH。
2.MOV AX, [BP]: 这条指令将BP指向的内存地址的内容移动到AX中。由于我们不知道[BP]的内容,AX的值未知。
3.POP BX: 这条指令将栈顶的值弹出到BX中。由于最后一个被推入栈的值是8A4BH,所以BX将被设置为8A4BH。同时,SP将增加2,恢复为2000H。
总结下:SP=2000H BP=1FFEH AX=未知 BX=8A4BH
根据已知结果把C、D排除,只剩A和C(这两项的第三项AX相同),而A的第4项是BX=8A4BH,所以选A