题目
假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSH ACCPUSH B后,SP的内容为( ),61H单元的内容为( ),62H单元的内容为( )。
假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:
PUSH ACC
PUSH B
后,SP的内容为( ),61H单元的内容为( ),62H单元的内容为( )。
题目解答
答案
( 62H ) ( 30H ) ( 70H )。
解析
步骤 1:理解PUSH指令
PUSH指令用于将数据压入堆栈。堆栈指针SP指向堆栈的顶部,每次执行PUSH指令时,SP会先减1,然后将数据存入SP指向的内存单元。
步骤 2:执行PUSH ACC指令
执行PUSH ACC指令时,SP先减1变为5FH,然后将ACC的内容30H存入5FH单元。
步骤 3:执行PUSH B指令
执行PUSH B指令时,SP再减1变为5EH,然后将B的内容70H存入5EH单元。
步骤 4:确定SP、61H单元和62H单元的内容
执行完PUSH B指令后,SP的内容为5EH。由于SP指向堆栈的顶部,因此61H单元的内容为上一次PUSH指令存入的数据,即30H。62H单元的内容为更早一次PUSH指令存入的数据,即70H。
PUSH指令用于将数据压入堆栈。堆栈指针SP指向堆栈的顶部,每次执行PUSH指令时,SP会先减1,然后将数据存入SP指向的内存单元。
步骤 2:执行PUSH ACC指令
执行PUSH ACC指令时,SP先减1变为5FH,然后将ACC的内容30H存入5FH单元。
步骤 3:执行PUSH B指令
执行PUSH B指令时,SP再减1变为5EH,然后将B的内容70H存入5EH单元。
步骤 4:确定SP、61H单元和62H单元的内容
执行完PUSH B指令后,SP的内容为5EH。由于SP指向堆栈的顶部,因此61H单元的内容为上一次PUSH指令存入的数据,即30H。62H单元的内容为更早一次PUSH指令存入的数据,即70H。