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

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

文章分类

全部博文(29)

文章存档

2015年(4)

2014年(3)

2013年(22)

分类: 嵌入式

2013-07-09 21:30:30

1.包含数据长度的标号,后面不加‘:’,用法好比数组或者变量。普通的标号可以offset acall a。这里的变量标号可以当做一段内存的指代。所以可以当做存储空间使用:mov a,ax;mov al,a[si];add b,ax;push a;pop a等等。

更一般的理解是 a带长度标号后的数据都按照定义的某个长度来处理。本行的和以后行的。

2.在不同段使用变量标号是可以的,但是要assume那个段到一个段寄存器。而且地址标号只能出现在cs中。当然,前面重复多次,assume并不能替你填充段寄存器,你好要手动填充,assume只是告诉编译器哪个段寄存器存着标号的段地址,否则找不到段地址,标号的位置没法确定。

3.数据定义时出现标号,那么标号的地址成为数值。如果是dw 标号,则储存的是偏移地址,如果是dd,储存的是偏移地址,段地址。(offset a,seg a)。seg操作,取得段地址。

4.字节中的反排:在计算机中的一个字节内,是按照由高位向低位排的,如00000001表示1。但是多个字节存储,却是从低位向高位排。0a bc 则是bcoa这个数。

5.直接定址法,这本书讲的很好,让我想起了c语言中的switch() caseend;default:语句。相信就是用直接定址法实现。我们知道dos中断都在21h指向的中断例程中,考传ax,控制启动哪像功能,也是通过直接定址法实现。可见直接定址法是一种非常基本又非常有用的方法。基本思想就是把偏移地址存在变量标号定义的数据中,用变量标号和下标索引。变量标号其实就是创建了一个表项。想想数据库中的表项,不就是数据名加数据长度么。所以变量表好会大大缩减程序复杂度。靠的就是建表的思想,其中很大的应用就是直接定址法。



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