到拉萨去兜风 发表于 2012-11-30 11:01:31

汇编语言课后题检测点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 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=   mov bx,bx=   mov ax,bx      ax=   mov ax,ax=   mov bx,bx=   add ax,bx      ax=   add ax,ax=   mov ax,0       ax=    mov al,ax=      mov bx,0       bx=      mov bl,bx=       add al,bl      ax=       实在不解DS的值,如何定位DS 的值?求详解过程谢谢!

NGtailang 发表于 2012-11-30 14:40:05

DS的值 由 AX给出
MOV AX,1      AX=0010AX 赋值
MOV DS,AX   DS=AX      把AX的值赋给DS,DS=0010
主要是你好像还没弄清楚 mov 语句吧

鲁哥学汇编 发表于 2012-11-30 20:51:33

ds是数据段地址 []这个括号中的是偏移地址   公式你懂吧    先看MOV AX ,1

鲁哥学汇编 发表于 2012-11-30 20:55:00

然后MOV DS,AX意识就是AX中的1移到了DS中现在DS中的值为1      接着 MOV AX, 意识就是在数据段地址DS到中的偏移地址地址加法器 相加 就是00010这个地址中的数据移到AX中

恍然一梦 发表于 2012-12-1 08:29:27

本帖最后由 恍然一梦 于 2012-12-1 09:17 编辑

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=   2662   mov bx,bx= E626   mov ax,bx      ax=   E626mov ax,ax= 2662   mov bx,bx=   D6E6add ax,bx      ax=    FD48 add ax,ax=2C14   mov ax,0       ax=0mov al,ax=   00E6   mov bx,0       bx=      0mov bl,bx=    0026   add al,bl      ax=   000c      ( 进位丢失)

到拉萨去兜风 发表于 2012-12-4 22:02:03

看了你们的解答,我理解了,谢谢你们,以后我有不懂的就来问你们!!!!
页: [1]
查看完整版本: 汇编语言课后题检测点3.1求教