[汇编学习笔记][第十六章直接定址表]
第十六章 直接定址表
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,然后判断调用那个函数。。。