Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184790
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 18:51
个人简介

大数据算法,分布式技术,spark技术爱好者

文章分类

全部博文(29)

文章存档

2015年(4)

2014年(3)

2013年(22)

分类: 嵌入式

2013-07-06 23:58:24

1. mov ax,0ffffh

    汇编语言中对于开头为字母的数据,比如a321h,前面加0,为了和变量区分。

2.masmmov bx,[0]相当于mov bx,0

    这并不是我们想要的。应该写成mov bx,ds:[0]。因为汇编语言并不知道你的段寄存器是哪个。无法转换成直接地址。但是debug程序中却是可以的,debug默认数据段寄存器是ds。所以在debug中编写几行asm,可以用[0]索引内存。

但是奇怪的是我们可以这样写: mov bx,0    mov ax,[bx]也是索引内存。而且只能用base register,就是基寄存器。不可以是axdx。这是因为bxds是一对好基友,汇编语言中默认用bx索引的都是ds段。

这让我想起汇编语言中不会因为你写了assume cs:code  code segment 而自动给 cs寄存器赋值。汇编语言不会妄自揣测程序猿的意思,是很本分的语言,你拥有的计算机硬件完全的控制权。

3.一段安全的空间:0:2000:2ff 256字节

 

阅读(1348) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~