求助两道微机原理问题,很简单

21、MOV AX,0FF60H
STC
MOV DX,96
XOR DX,0FF00H
SBB AX,DX
程序执行后AX=_____________,CF=_____________

22、完成下面将1000H 单元开始100 个数传到1050H 开始存储区中的程序。
MOV BX,1000H
MOV CX,100
_____________
BEGIN∶MOV AL,〔BX〕[SI〕
MOV 〔BX+SI+50H〕,AL
_____________
LOOP BEGIN
HLT
DONE:

你的这个提问我好像回答过一次,那次你好像问了很多题

第一题的96应该是10进制的,也就是0060H.
XOR DX 0FF00H执行完之后DX应该是0FF60H.
SBB AX DX 就是AX-DX,结果送到AX,所以AX=0,ZF=1,CF=0

第二题
MOV SI 0;
ADD SI 2;
解释一下,BX 是基址,SI是变址,BX+SI构成了偏移地址
起始偏移地址是1000H,也就是说起始的时候BX+SI应该等于1000H,BX起始值是1000H,所以SI应该为0
每次交换一个字,交换完了之后应该转到下一个字去执行,所以应该将SI加2,不是一,因为是字,不是字节
温馨提示:答案为网友推荐,仅供参考
相似回答