问题标题:
【微机原理题CS:2000HMOVAX,2012H2003HMOVCX,200CH2006HPUSHCX2007HCALL4000H200AHADDAX,BX200CHADDAX,DX200EHHLT…………CS:4000HMOVBX,200AHPOPDXRET上面的程序执行后:(AX)=(DX)=】
问题描述:
微机原理题
CS:2000HMOVAX,2012H
2003HMOVCX,200CH
2006HPUSHCX
2007HCALL4000H
200AHADDAX,BX
200CHADDAX,DX
200EHHLT
……
……
CS:4000HMOVBX,200AH
POPDX
RET
上面的程序执行后:
(AX)=(DX)=
胡士毅回答:
CS:2000HMOVAX,2012H
2003HMOVCX,200CH
2006HPUSHCX;把200C压栈
2007HCALL4000H;把200A压栈,再转到4000
200AHADDAX,BX
200CHADDAX,DX;AX=401C
200EHHLT
…………
CS:4000HMOVBX,200AH
POPDX;DX=200A
RET;返回到200C
上面的程序执行后:
(AX)=401CH,(DX)=200AH
刘金鑫回答:
2007HCALL4000H;把200A压栈,再转到4000为啥是200A压栈跳转4000是啥
胡士毅回答:
CALL指令,它就是先把它下面的地址压栈,以备返回;再转到其目的地址。所以,就是:2007HCALL4000H;把200A压栈,再转到4000200AH ……
点击显示
其它推荐