为了更好了解指针来学学汇编mov add看不懂,来个大佬解析一遍
mov ax ,62627Ax=____mov ah ,31H,Ax=___
mov a1,23HAx=__
......
就是小甲鱼的课后作业
检测点 2.1 本帖最后由 jackz007 于 2021-1-18 18:37 编辑
mov ax , 62627; ax = F4A3H 十进制:62627
mov ah , 31H; ax = 31A3H 十进制:12707
mov al , 23H; ax = 3123H 十进制:12579 jackz007 发表于 2021-1-18 18:35
第二个,ah不是高位吗,不是应该F4+31,得到最后ax 125A3
还有:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
这0000:0000后面的是啥,不是10个字节,怎么后面超过10个(2个16进制的数)
麻烦你了
DongGu.. 发表于 2021-1-19 10:58
第二个,ah不是高位吗,不是应该F4+31,得到最后ax 125A3
还有:
0000:0000 70 80 F0 30 EF 60 30 E2-0 ...
mov 不是 add,是替换,不是增加。
debug.exe 的内存地址都是十六进制数,十六进制的 "10" 自然就是十进制的 16 啊。所以,从 debug 中查看内存的时候,每行一律显示的是 16 个字节。 刚刚看了原书,就立马跑来说声抱歉了,确实,是mov不是add,草率了,哈哈哈
谢谢你啦 jackz007 发表于 2021-1-19 11:06
mov 不是 add,是替换,不是增加。
debug.exe 的内存地址都是十六进制数,十六进制的 ...
等我可以加人了,一定关注,
jackz007 发表于 2021-1-19 11:06
mov 不是 add,是替换,不是增加。
debug.exe 的内存地址都是十六进制数,十六进制的 ...
(1)在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值
mov ax,1
mov ds,ax
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= 0
mov al,ax= 00e6H
mov bx,0 bx= 0
mov bl,bx= 0026H
add al,bl ax= 000CH
我还不是很懂,就堵在这了,这道题如果我的想法,第一空ax=8080
这道题是怎么去找到地址来得到值? DongGu.. 发表于 2021-1-19 13:50
(1)在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 ...
这里的 10 是十六进制
也就是第16个 wtchou 发表于 2021-1-20 19:24
这里的 10 是十六进制
也就是第16个
第10个数之后的数,代表什么
DongGu.. 发表于 2021-1-22 00:22
第10个数之后的数,代表什么
没代表什么, 就数据而已
页:
[1]