本章重点内容:汇编程序的功能 汇编语言源程序的格式 伪指令和操作符 汇编语言上机过程、
汇编语言是一种面向CPU指令系统的程序设计语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。
汇编程序:基本汇编ASM 和宏汇编MASM 汇编程序以汇编语言源程序为输入,并由它产生两种输出文件:目标程序文件和程序列表文件
汇编程序的主要功能:检查源程序 测出源程序的语法错误 产生源程序的目标程序 展开宏指令
建立程序的过程:编辑源程序-prog.asm文件-汇编程序-prog.obj-链接程序-prog.exe文件
汇编语言源程序书写格式:逻辑段分3组:数据段,堆栈段,代码段 逻辑段以SEGMENT开始 ENDS结束
其中数据段:建立工作区以存放常量数,变量等操作数据 堆栈段:建立堆栈区,以便中断和子程序调用时使用 代码段:符号指令
汇编语言源程序的语句类型分三种:指令语句:能产生目标代码 伪指令:提供给汇编程序和链接程序必要的控制 宏指令:是指很多指令的集合语句
伪指令语句:
数据定义及存储器分配伪指令:DB伪指令 主要是为新定义,定义内存单元的首字符 DW伪指令 主要是为定义字节变量 DD伪指令 定义双字变量
符号定义伪指令:这些符号可以包括变量名,标号名,过程名,寄存器名以及指令助记符 EQU伪指令 =伪指令 LABEL伪指令
8086\8088汇编语言程序格式
一般为:【名字】 操作符 【操作数】 【:注释】
名字是符号,表示符号地址 操作符机器指令,伪指令,宏指令 操作数字段是操作符的操作对象 注释是以;开头
名字项A-Z a-z 0-9 专用字符? @ $
标号三种属性:段,偏移及类型
变量用LABEL 或者EQU来定义
操作数项:算术操作符 逻辑与移动操作符 关系操作符(EQ相等,NE不等,LT小于,GT大于,LE小于或等于,GE大于或等于) 分析操作符主要有:TYPE 表达式,LNGTH 变量,SIZE变量,OFFSET 变量或符号,SEG变量或符号 等。
DATASEG SEGMENT
ARRAY DW 1,2,3
TABLE DB \'ABCD\'
FEES DW 100 DUP(0)
FE DD 10 DUP(100H)
DATASEG ENDS
CSEG SEGMENT
START:
........
LOOP1:
CSEG ENDS
END START
ADD SI,TYPE ARRAY
MOV CX,LENFTH FEES
MOV BX,LENGTH FE
MOV DX,SIZE TABLE
MOV CX,SIZE FEES
MOV BX,OFFSET TABLE
MOV BX,SEG DATASEG
MOV BX,SEG CSEG
综合操作符,又称为属性修改运算符
PTR 类型 PTR 表达式 就是使该地址具有另外一种属性 MOV BYTE PTR[BX],5
THIS attribute 或 type 就是使该类型和下个存储单元地址相同 FIRST_TYPE EQU THIS BYTE