chengzhi 发表于 2015-11-2 21:04:34

汇编作业3.1解答

本帖最后由 chengzhi 于 2015-11-2 21:06 编辑

检测点3.1:




答案认真算都可以算对的:
mov ax, AX=2662H
mov bx, BX=E626H
mov ax,bx AX=E626H
mov ax, AX=2662H
mov bx, BX=D6E6H
add ax,bx AX=FD48H
add ax, AX=2C14H
mov ax,0 AX=0000H
mov al, AX=00E6H
mov bx,0 BX=0000H
mov bl, BX=0026H
add al,bl AX=000CH

2.注意ds的设置,和相应的偏移地址是[]中的,而不是ip中的偏移地址,不要相互混淆就可以写出指令
要注意每次执行指令后ip增加的字节数
注意jmp后修改了cs和ip为:off0:0100 = 物理地址 = 10000H
答案如下:
mov ax,6622H CS = 2000H IP = 3HDS = 0 AX=6622H
jmp 0ff0:0100 CS=0ff0H IP=0100H DS = 0 AX = 6622H
mov ax,2000H CS=0ff0H IP=0103H DS = 0 AX = 2000H
mov ds,ax CS=0ff0H IP=0105H DS=2000H AX = 2000H
mov ax, CS=0ff0H IP=0108H DS=2000H AX = C389H
mov ax, CS=0ff0H IP=010BH DS=2000H AX = EA66H
希望能帮助大家

zph888 发表于 2015-11-3 21:54:17

本帖最后由 zph888 于 2015-11-4 07:13 编辑

1)d 0:0 1f表示查内存中0-31范围的,即32字节的内容
2)DS为1,表示DS的段地址为0001,只有当偏移地址达到10H(十进制为16)时,才能这样表达:0001:0    F,而在小于16时只能表达为0000:0   F,所以当0001:0000时,指向第17个字节地址。
3)看来我们初学者要学会:物理地址与段地址,偏移地址的转换,才能理解给出的条件的原由。

chengzhi 发表于 2015-11-4 12:56:07

zph888 发表于 2015-11-3 21:54
1)d 0:0 1f表示查内存中0-31范围的,即32字节的内容
2)DS为1,表示DS的段地址为0001,只有当偏移地址达 ...

对的,基础是最重要的东西,一点都不为过,以前太年轻了,好好打基础吧:smile
页: [1]
查看完整版本: 汇编作业3.1解答