马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
检测点3.1 (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,[0000] ax= 2662H mov bx,[0001] bx= E626H mov ax,bx ax= E626H mov ax,[0000] ax= 2662H mov bx,[0002] bx= D6E6H add ax,bx ax= FD48H add ax,[0004] ax= 2C14H mov ax,0 ax= 0 mov al,[0002] ax= 00e6H mov bx,0 bx= 0 mov bl,[000c] bx= 0026H add al,bl ax= 000CH
在这里的话我想要知道这个指令的意义 mov ax,1 mov ds,ax 这样是传送1这个到ds中,这里是让ds取得数据段的地址 那么在这里有个问题,ds为何是从 0000:0010开始的 是不是所有的段寄存器都要使用这个公式:SA X 16 + EA,也就是DS * 16 + IP然后得出一个数据段的地址?
|