[汇编学习笔记][第十六章直接定址表]

第十六章 直接定址表

16.1 描述了单元长度的标号

  • 格式

    code segment
        a db 1,2,3,4,5,6,7,8,
        b dw 0
  • 功能

    此时标号a,b 不仅代表了内存单元,还代表了内存长度

     mov ax,b
    =mov ax,cs:[8]
    
     mov b,2
    =move word ptr cs:[8],2
    
     inc b
    =inc word ptr cs:[8]
  • 更重要,提供了一种类似数组的表示方式了(其实跟这里也没关系)

     mov al,a[si]
    =mov al,cs:[0][si]
    
     mov al,a[3]
    =mov al,cs:0[3]
  • 不过不要以为b[0],b[1] 没有重叠的地方 还是有一个字节会重叠。

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

  • assume里声明(编辑器需要)
  • data的标号,赋值给ds

16.3 直接定址表

。。看起来很高深的样子。。其实就是打表而已。。

16.4 程序入口地址的直接定址表

。。其实就是几个if,然后判断调用那个函数。。。

原文地址:https://www.cnblogs.com/zy691357966/p/5480511.html