关于汇编的几个基础问题.简单,但是紧急

来源:百度知道 编辑:UC知道 时间:2024/05/04 02:32:27
-r
AX=0000 BX=1230 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0EA7 ES=0EA7 SS=0EA7 CS=0EA7 IP=0100 NV UP EI NG ZR NA PO NC
0EA7:0100 031C ADD BX,{SI} DS:0000=20CD
a) what is the logical address of the next instruction to be executed???
b) after the next instruction executes, which CPU registers will change and what will be their new contents? Ignore the flags.

CS:IP是逻辑地址,所以下一条指令的逻辑地址应该是0EA7:0100。

下条指令是add bx, [si],就是把ds:[si]也就是ds:0000中的字数据和bx相加,然后把结果存在bx中,所以除了标志积存器,这条指令只会改变bx的值,ds:0000中的值为20CD,bx里的值为1230,所以相加后bx值应该为20CD + 1230 = 32FD。

这还简单?
不过我汇编也忘的差不多了

疯了,学汇编没什么用了,

第一个问题:将20CD的数值返回到原来地址,覆盖开始的AX
本来的逻辑地址是0100段的031c位置,下个逻辑地址是0100段的20cd

第二个问题:新的标志位变为10100111