求解释
(1)在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 600000: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= 2662Hmov bx,bx= E626Hmov ax,bx ax= E626Hmov ax,ax= 2662Hmov bx,bx= D6E6Hadd ax,bx ax= FD48Hadd ax,ax= 2C14Hmov ax,0 ax= 0 mov al,ax= 00e6Hmov bx,0 bx= 0 mov bl,bx= 0026Hadd al,bl ax= 000CH怎么解释啊 谁抢了我的小红 发表于 2013-2-8 23:04 static/image/common/back.gif还是没懂 那个mov ax, 中 【0000】到底是什么意思啊
0000表示的是偏移 []表示的是取地址里面存放的值
默认短地址为DS,也就是把ds:0这个地址中存放的值放给AX
例如我
mov bx,5200H
mov ds:0,5200h
mov ax,
ax=5200h
用DEBUG做实验好了
我让ds:0这个地址中的值为5200h
-d查看可以看到已经成功赋值了
也就是说的意思就是默认DS为段地址,偏移为0,也就是ds:0这个地址中的 一个字大小的值 5200H放给AX
mov ax, //因为ds=1 所以此时指向1*16+0=10h处mov进行字传递,高地址保存高位,低地址保存低位
所以ax=2662h
后面基本一样! 你|若|问|我 发表于 2013-2-8 22:55 static/image/common/back.gif
mov ax, //因为ds=1 所以此时指向1*16+0=10h处mov进行字传递,高地址保存高位,低地址保存低位
所 ...
还是没懂 那个mov ax, 中 【0000】到底是什么意思啊 数据读取的偏移地址 谁抢了我的小红 发表于 2013-2-8 23:04 static/image/common/back.gif
还是没懂 那个mov ax, 中 【0000】到底是什么意思啊
大哥,书本里说的很详细了。你有认认真真的看书了吗? 楼上的大哥已经说得很详细了,再不明白,我就无语了 原来如此啊我学习了 楼上大大们,你们貌似解释错了 。莫非没发现他在debug中查看的地址是0000:0000么。然后给ds赋的地址是0001么?也就是说你在执行这个程序的时候,实际上是把0001:0000~0001:000c里面的内容给“取”了出来。而不是你给出的0000:0000内的内容!OK? 至于的意思,就是把指针指向ds:0000中的内容。 mov ax,1mov ds,ax这两句 ,你已经把地址成功的指向了0001:0000的位置了,而你还在参照0000:0000位置的数据。肯定不正确的啊! ai979520253 发表于 2013-2-10 00:42 static/image/common/back.gif
大哥,书本里说的很详细了。你有认认真真的看书了吗?
我没有书 一直看的视频
页:
[1]