目录
段的定义(重点)
定位方式
汇编地址计数器
$
ORG
例题
段寄存器的设定(重点)
源程序的结束(重点)
过程的定义(了解)
掌握
过程定义伪指令 PROC, ENDP
段定义伪指令 SEGMENT , ENDS
ORG伪指令
$
段假定 ASSUME
程序结束伪指令 END
段的定义(重点)
定位方式
BYTE (任意一个位置都可以)
WORD (只要是偶地址对其就可以2的倍数)
PARA(什么都不写默认按段对其 段的起始地址必须可以被16整除) paragraph
PAGE(页,别256整除)
汇编地址计数器
$
用$表示,记录正在被汇编程序翻译的指令的地址
$-BUF=BUF内存所占的字节个数
COUNT的就是16,将来送循环次数
ORG
$的值由ORG设置,格式为:
ORG代表的是这是数值表达式下面开始定义的内存变量的偏移地址从这个数值表达式开始
但是我中间写这条命令
ORG 0500H
例题
VAR1 DW 1,2,3,4,5,6,7,8,9,10 COUNT EQU $-VAR1
MOV CX,??
答案 :COUNT/2 或者写10 它是字定义的,一个字占两个字节。 COUNT EQU $-VAR1 是VAR1中所包含的内存单元的字节个数
段寄存器的设定(重点)
就是为了告诉别人段与段的对应关系
ASSUME CS:CODE,DS:DATA
代码段CS是系统就初始化好的,但是这时候你的DS还没有找到数据段的位置
这也就是为什么代码段程序的开始 需要下面这两句话(对准数据)
MOV AX,DATA
MOV DS,AX
源程序的结束(重点)
END不仅仅代表源程序结束,还代表那个标号开始执行。
所以我们写程序,以后尽量都写END START
过程的定义(了解)