8086汇编语言程序设计C复习课程.ppt

第四章 8086汇编语言程序设计;几个概念;1. 3种语言;2. 汇编程序的作用;3. 汇编语言程序的上机与处理过程; 汇编语言上机过程 D:EDIT ABC.asm D:MASM ABC 有语法错,回EDIT下改该程序 D:LINK ABC 有错,回在EDIT下改程序 D:ABC 运行结果错,回EDIT下改程序 或在DEBUG下调试,找原因。 D:DEBUG ABC.exe ;4.1 汇编语言的程序结构与语句格式;4.1.1 汇编语言源程序的框架结构;【例题4.1】实现:123 + 456→sum 的源程序 ;3. 每段由若干语句行组成, 每行只有一条语句且不能超过128个字符,允许有后续行。 整个源程序以END结束,它通知汇编程序停止汇编。END后的START标号为程序运行时的起始地址。;二、源程序与PC DOS的接口 汇编语言源程序(.ASM)经过汇编转变为目标程序(.OBJ), 当用链接程序对其进行链接和定位时,操作系统为每个用户程序 建立: ; ② 定位用户程序 ③ 设置DS和ES的值使之指向PSP的开始处, 即PSP的段地址→ DS和ES。 ④ 将用户程序的段基址、第一条指令的偏移地址设置CS、IP; 同时设置SS、SP。 ⑤ 运行用户程序; 第二种方法:非标准方法 ① 不定义主程序为FAR过程,并去掉标准序。 ② 在代码段结束之前(即CODE ENDS之前)增加两句: MOV AH,4CH INT 21H ;4CH号的DOS系统功能调用;4.1.2 8086汇编语言的语句;2. 语句格式; 标号和名字必须符合汇编语言对标识符的规定: 以字母开头,由字母(不分大小写)、数字(0~9)及部分特殊字符(?@ $和下划线_等)组成,字符串长度不超过31个。 标识符不能是汇编语言中有特定意义的保留字、助记符、Reg等, 如:CPU的内部寄存器名AH、AL、AX等。;(3)操作数 ——指令语句中提供给指令的操作对象、存放位置。 操作数可以是1个、2个或0个,2个时用逗号‘,’分开。 (INC BX; MOV AX,DATA ; RET) —— 伪指令语句中操作数的格式和含义随伪操作指令不同而不同。 ;4.2 8086汇编中的伪指令;—给表达式赋予一种符号名,以便在程序中用它替代表达式 1、等值语句 格式:符号名 EQU 表达式 例??? PORT EQU 40H ; 用PORT代替40H号端口 COUNT EQU CX ; 用COUNT代替CX寄存器 M EQU MOV ; 用M代替MOV指令助记符 ;2、等号语句 格式:符号名 = 表达式 功能与EQU类似。 例: PP = 89FAH ;赋值 PP = PP+1 ; PP = 89FBH ;4.2.2 变量定义语句 —用于定义变量(程序中所用的存储器操作数),指定变量的类型和名称,并为其分配存储单元和预置初值。; 经过定义的变量有3种属性:段值、段内偏移量和类型。 若某个变量表示的是一个数组,则其类型属性为变量的单个元素所占用的字节数。; 2. 具体形式和功能 (1)为数据项分配存储单元,用变量名作为该存储单元的名称。 例:X DB 25H Y DW 4142H Z DD 存储形式如图: ;(3)定义一个数组 例:W_TABLE DW 1122H,3344H B_TABLE DB 1,2,4,9,16 当表中的操作数相同时, 可用重复操作符DUP来缩写: 格式: 重复次数 DUP( 操作数) 例:ALL_ZERO DB 0,0,0,0,0,0 ALL_ZERO DB 6 DUP(0);;data SEGMENT xx DB 1, -1, 0FCH yy DW 1,- 1, 0FCH

文档评论(0)

1亿VIP精品文档

相关文档