|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 汝不知者花也 于 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,[0] //[0]表示偏移地址,和前面ds结合可知地址为1000:0 将1000:0和1中的地址送入ax 可得ax为1123H
mov bx,[2] //[2]表示偏移地址,和前面ds结合可知地址为1000:2 将1000:2和3中的地址送入bx 可得bx为6622H
mov cx,[1] //[1]表示偏移地址,和前面ds结合可知地址为1000:1 将1000:1和2中的地址送入cx 可得bx为2211H
add bx,[1] //[1]表示偏移地址,和前面ds结合可知地址为1000:1 将bx和[1]相加 已知bx为6622H [1]为2211 即 2211H+6622H 可得bx为8833H
add cx,[2] //[2]表示偏移地址,和前面ds结合可知地址为1000:2 将bx和[2]相加 已知cx为6622H [2]为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 [0],ax //将ax的值送入1000:0中 即ax为2c34
mov bx,[0] //将[0]的值送入bx中 即bx为2c34
sub bx,[2] //将bx=bx-[2] 即 可得2c34-1122得1b12
mov [2],bx //将bx的值送入1000:2中 即1000:2为1b12
|
|