鱼C论坛

 找回密码
 立即注册
查看: 2672|回复: 7

王爽汇编语言检测点3.1本人高中学历在自学小甲鱼的视频。请加qq:903632479.

[复制链接]
发表于 2013-2-25 00:07:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
(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  
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0DB4  ES=0DB4  SS=0DB4  CS=0DB4  IP=0100   NV UP EI PL NZ NA PO NC
0DB4:0100 B80100        MOV     AX,0001
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0DB4  ES=0DB4  SS=0DB4  CS=0DB4  IP=0103   NV UP EI PL NZ NA PO NC
0DB4:0103 8ED8          MOV     DS,AX
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0105   NV UP EI PL NZ NA PO NC
0DB4:0105 A10000        MOV     AX,[0000]                          DS:0000=2662         *\这里为什么0001::0000怎么等于2662了?\*
-t
AX=2662  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0108   NV UP EI PL NZ NA PO NC
0DB4:0108 8B1E0100      MOV     BX,[0001]                          DS:0001=E626          *\这里为什么0001::0001怎么等于e626了?\*
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=010C   NV UP EI PL NZ NA PO NC
0DB4:010C 89D8          MOV     AX,BX
-t
AX=E626  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=010E   NV UP EI PL NZ NA PO NC
0DB4:010E A10000        MOV     AX,[0000]                          DS:0000=2662
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0111   NV UP EI PL NZ NA PO NC
0DB4:0111 8B1E0200      MOV     BX,[0002]                          DS:0002=D6E6
-t
AX=2662  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0115   NV UP EI PL NZ NA PO NC
0DB4:0115 01D8          ADD     AX,BX
-t
AX=FD48  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0117   NV UP EI NG NZ NA PE NC
0DB4:0117 03060400      ADD     AX,[0004]                          DS:0004=2ECC
-t
AX=2C14  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=011B   NV UP EI PL NZ AC PE CY
0DB4:011B B80000        MOV     AX,0000
-t
AX=0000  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=011E   NV UP EI PL NZ AC PE CY
0DB4:011E A00200        MOV     AL,[0002]                          DS:0002=E6
-t
AX=00E6  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0121   NV UP EI PL NZ AC PE CY
0DB4:0121 BB0000        MOV     BX,0000
-t
AX=00E6  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0124   NV UP EI PL NZ AC PE CY
0DB4:0124 8A1E0C00      MOV     BL,[000C]                          DS:000C=26
-t
AX=00E6  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0128   NV UP EI PL NZ AC PE CY
0DB4:0128 00D8          ADD     AL,BL
-t
AX=000C  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=012A   NV UP EI PL NZ NA PE CY
0DB4:012A C6061799FF    MOV     BYTE PTR [9917],FF                 DS:9917=9A          *\这里为什么0001::9917怎么等于9A了?\*
-q

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-26 20:39:37 | 显示全部楼层
唉 这里我也看不懂呀  郁闷中,cs = 0001  偏移地址不是0吗?那输出的结果应该是8070呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-26 22:56:13 | 显示全部楼层
mov ax,1
mov ds,ax
这里给的是ds的段地址不是偏移地址,物理地址=ds段地址*16+偏移地址,所以ds应指向0010:0000这行,回答正确否,有老大神指正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-27 14:23:28 From FishC Mobile | 显示全部楼层
是不是把0000这个地址的数据移到了ax中?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-2 11:44:04 | 显示全部楼层
...
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0DB4  SS=0DB4  CS=0DB4  IP=0105   NV UP EI PL NZ NA PO NC
0DB4:0105 A10000        MOV     AX,[0000]                         DS:0000=2662
...
这里的=2662是说DS:0000内存单元的内容为2662
;在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      
因为DS:0000  DS=0001偏移地址为0000所以物理地址为00010
又因为AX为字单元16位所以存放对应的物理地址的内容···0000:0010 62 26 ··· (0000*16+0010=00010)
高地址26放高位,低地址62放低位,所以DS:0000内存单元的内容为2662
DS:0000=2662
下面的结果也是同样方式得到的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-3-20 00:49:53 | 显示全部楼层

呵呵,我思考的也是这样。bx=0,第四行程序中怎么就让 mov bx,[0001]  bx= E626H  ?ds应指向0000:0001?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-20 22:32:45 | 显示全部楼层
0001: 0001   等价于  0000 :0011      内存中的段地址是0000 乘以16+给偏移就完了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-20 22:36:20 | 显示全部楼层
鱼游四海 发表于 2013-2-26 22:56
mov ax,1
mov ds,ax
这里给的是ds的段地址不是偏移地址,物理地址=ds段地址*16+偏移地址,所以ds应指向00 ...

不对的~  0010 :0000  等于 0000:0100  不会看的话 最简单的办法就是你吧 段地址 和内存中的段地址 统一余下的加给偏移 就能判断是不是一个地址了~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 22:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表