①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么ds=0000?
2017-11-26 17:50
309 查看
①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么③mov 指向bx,0000:0010 不是段地址*16+偏移地址吗?不是应该指向0010:0000吗?为什么DS不是1?
-d 0000:0 1f 0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 p..0.`0.....f "` 0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 b&....<;....&.f. - 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 为什么 【 DS:0001=E626?? DS不是0001吗】
答:
DS:0001的地址是ds*0x10+0x01=0x11,0x11上的数据是E6260000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 p..0.`0.....f "`0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 b&....<;....&.f.
DS对应的物理地址:ds*Ox10+偏移地址。 0001x10=0010,0010:0000=62 mov ax,[0000]=6226(内存中字的存储章节有介绍),王爽老师的汇编语言第3版,第三章节,47页。
相关文章推荐
- OV AX,DATA 与MOV DS,AX的疑问
- C++中为什么需要将new对象通过独立语句置入智能指针
- 利用汇编语言编程实现通过堆栈交换ax,bx的大小
- C语言里case后面的语句不加大括号为什么有时候能编译通过,有时候不能?
- LEA AX,[BX+SI] 和MOV AX,OFFSET [BX+SI]的区别
- 为什么没通过呢
- 为什么程序开始用PUSH DS等
- java 开发 觉得展示ui太丑,一个专门javascript的插件网,把数据结构通过这些图形展示
- 网站公开webservice的API,通过这些API得到一些服务
- 通过sql语句将Excel表导入数据库
- 为什么写这些博客
- 通过构建SQL语句实现数据同步
- Mysql API 查询优化 为什么要选用预处理语句( mysql_stmt_* )
- JDK1.7中的multi-catch的变化, multi-catch 语句中的替代无法通过子类化关联
- 我想知道这两种写法的不同,哪个是可以通过,为什么??
- PL SQL下通过语句查看表或者视图结构
- 入职面试通过HR为什么还要求提供半年的工资银行流水账单
- DDL语句为什么不能回滚
- AX,BX,CX,DX 寄存器
- 【Python】Learn Python the hard way, ex35 通过一个简单游戏,练习循环和分支语句