问题3.3 3.4
本帖最后由 汝不知者花也 于 2020-6-15 10:17 编辑三、字的传送
问题:3.3
10000H 23
10001H 11
10002H 22
10003H 66
命令为-e 1000:0 23 11 22 66 //先将段地址数据放入 1000:0中
命令为-d 1000:0 3 //查询地址是否输入正确
命令为-a 073f:100 //以汇编的模式写入指令在073f:100中
mov ax,1000H //将1000:0中的数据送入ax中,由于ax为16位 所以现有将01和02中的数据送入即可得到 ax是1000H
mov ds,ax //将ax的输入送入段地址寄存器ds中 即ds是1000H
mov ax, //表示偏移地址,和前面ds结合可知地址为1000:0 将1000:0和1中的地址送入ax 可得ax为1123H
mov bx, //表示偏移地址,和前面ds结合可知地址为1000:2 将1000:2和3中的地址送入bx 可得bx为6622H
mov cx, //表示偏移地址,和前面ds结合可知地址为1000:1 将1000:1和2中的地址送入cx 可得bx为2211H
add bx, //表示偏移地址,和前面ds结合可知地址为1000:1 将bx和相加 已知bx为6622H 为2211 即 2211H+6622H 可得bx为8833H
add cx, //表示偏移地址,和前面ds结合可知地址为1000:2 将bx和相加 已知cx为6622H 为6622 即 2211H+6622H 可得cx为8833H
问题:3.4
10000H 23
10001H 11
10002H 22
10003H 11
命令为-e 1000:0 23 11 22 11 //先将段地址数据放入 1000:0中
命令为-d 1000:0 3 //查询地址是否输入正确
命令为-a 073f:100 //以汇编的模式写入指令在073f:100中
mov ax,1000H //将1000:0中的数据送入ax中,由于ax为16位 所以现有将01和02中的数据送入即可得到 ax是1000H
mov ds,ax //将ax的输入送入段地址寄存器ds中 即ds是1000H
mov ax,11316 //将十进制的11316转化为16进制可得2c34
mov ,ax //将ax的值送入1000:0中 即ax为2c34
mov bx, //将的值送入bx中 即bx为2c34
sub bx, //将bx=bx- 即 可得2c34-1122得1b12
mov ,bx //将bx的值送入1000:2中 即1000:2为1b12
?
^蓝色风暴 发表于 2020-7-27 12:33
?
有什么问题吗 汝不知者花也 发表于 2020-7-28 08:34
有什么问题吗
答案bx和cx混淆了 3.4这题目的不是看 1000:0 3 中数据的变化吗
1000:0 34 2c 12 1b
页:
[1]