文档详情

理学第四章汇编语言程序设计.pptx

发布:2022-04-10约7.08千字共45页下载文档
文本预览下载声明
1;1、8086汇编语言程序结构举例 DATA SEGMENT;定义一个段,名字为DATA SUM DB 14H;定义字节单元 TAB DW 100 DUP(0);定义100个字单元 DATA ENDS;段定义结束 STCK SEGMENT STACK DW 500 DUP(?) STCK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STCK;START: MOV AX, DATA;DATA段地址传送AX MOV DS,AX;赋给数据段寄存器 MOV AX,STCK ;STACK段地址传送AX MOV SS,AX ;赋给堆栈段寄存器 CYCLE: MOV AL,01H ADD SUM,AL CMP SUM,100 JNZ CYCLE MOV AL,SUM CODE ENDS END START;2、8086汇编语言源程序的格式 一个汇编源程序由多个段构成。 其一般格式为 NAME1 SEGMENT 语句 …… NAME1 ENDS NAME2 SEGMENT 语句 …… NAME2 ENDS …… END 标号;由多个段组成; 每个段有一个名字; 以符号SEGMENT作为段定义的开始,以ENDS作为段的结束; 整个源程序以语句 END 标号 结束;;4-2 语句的构成;2、语句的格式 指令语句的格式为: 标号: 指令; 注释 例如 CYCLE: ADD SUM,AL;两数相加 伪指令语句的格式: 名字 定义符 参数1,参数2,……;注释 例如 DATA SEGMENT;段定义 SUM DB 34H;定义字节 3、几点说明 指令语句的标号后用“:”分隔,指示性语句的名字之后为空格分隔。;指令语句的标号代表该指令的存放地址,即符号地址。在汇编时,将符号地址替换为实际地址。 指令语句的标号可任选或省略;而伪指令的名字可能是强制的、任选的或禁止的,不同语句有不同规定。 标号或名字可由最多31个字母、数字及字符?@_$等组成,不能以数字开头。 注释部分用“;”分隔,对语句功能加以说明,以提高程序可读性。注释可有可无。 ;8086系列汇编程序定义了5种指示性语句 (一)符号定义语句 1、等值语句EQU 格式:名字 EQU 符号或表达式 如 A EQU 2 COUNT EQU CX 功能:用名字代替右边的符号或表达式。目的是提高程序的可读性。在汇编时,汇编程序自动用被等值量代入。;2、解除语句PURGE 格式:PURGE 名字1,名字2,…… 如 PURGE A,SIZE,COUNT 功能:对EQU定义的语句,用该语句解除定义。 (二)数据定义语句DB/DW/DD 名字 DB/DW/DD 表达式1,表达式2,…… 功能:为数据项分配存储单元,用一个符号名代表这个存储单元偏移地址,并为这个数据项提供一个初值;; DB — 定义字节;DW — 定义字; DD — 定义双字(32位); 如 MYDATA SEGMENT ARRAY DB 10,7,3,5 sim DB ‘A’,’B’ BUF DW ?,1234H MYDATA ENDS ;; 符号名可任选或省略; 表达式可以是:1)常数;2)?,表示不确定初值;3)字符串,用‘ ’表示,其数值为字符的ASCII码值;4)重复子句,重复次数为DUP; 如 AREA DW 100 DUP(?);重复定义100个字单元 TABLE DB 100 DUP(5 DUP(4), 7);4, 4, 4,4, 4, 7; 重复100次字节定义 TABLE1 DB 100 DUP(2, ?, 5 DUP(4), 7); Tab dd 100 dup(200 dup (300 dup(0))); 例:定义字节型一维数组变量X、Y、Z,元素为10个;再定义二维数组W和简单变量S。令 X=(31H,32H,33H …… 3AH)、 Y =(9FH,8EH,7DH …… 06H)、 Z=X+Y; 二维数组 变量 编写程序实现上述功能。 ; Data segmen
显示全部
相似文档