第16章 直接定位表

16.1描述了单元长度的标号

以前用的标号都是这样的,它们表示的是起始地址:

注意这里的标号后面都跟了一个冒号,而本节要介绍的标号没有冒号,它不仅能表示起始地址还能表示内存单元的长度:

至于说内存单元的长度还是根据db和dw来确定的。

16.2在其他段中使用数据标号

带有冒号的标号只能用在代码段,不能用在数据段。

如果想在代码段中用数据标号直接访问数据,需要用assume将标号所在的段和一个段寄存器联系起来。

上图中所示代码将data段和DS寄存器联系了起来。

然后需要把DS中的值设置为data段的起始地址,如下所示:

你可以这样使用数据段内容:

很显然,现在a和b所代表的数据都是与DS相关连的,所以直接写出偏移地址来就可以确定数据的位置。

16.3直接定址表

本届讨论用查表的方法编写程序的技巧。

原来数字型数字和字符型数之间相差了30H,即1+30H=’1’。

16进制中的’A’与10相差37H,即,10+37H=’A’。

我感觉本节内容并不是在讲汇编语言,而是在说与复杂的计算比较起来,直接查表是更快的解决方案。但是表需要占用一定的存储空间,可这是以空间换时间算法思想的一种体现。

能够通过计算出元素位置从而找到所需元素的表称为直接定址表。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,570评论 8 114
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,308评论 6 13
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,470评论 0 1
  • 网络层简介 1. 概念 为解决经由多条链路的交付问题,从而设计了网络层。其主要负责主机到主机的交付,并且在分组经过...
    顾慎为阅读 3,221评论 0 0
  • 杯子的低音调 总是难得一聚 万千杯酒为此下喉 烧得笑声沸腾 这火热的狂潮席卷而来 我装作古人 亦如来者 以皮囊回应...
    颜族长阅读 407评论 5 3