文档详情

微机原理第五章汇编语言程序设计2.ppt

发布:2017-05-26约1.74万字共70页下载文档
文本预览下载声明
第五章 汇编语言程序设计 5.1 概述 程序是一组为完成某种功能而按一定顺序(由算法确定)编排的指令序列。 机器语言:二进制数形式的指令和数据,既不直观,又不易理解和记忆( B0 64 ) 助记符:用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆(MOV AL,64H) 汇编程序 汇编语言程序设计与执行过程 输入汇编语言源程序 源文件 .ASM 汇编(编译) 目标文件 .OBJ 链接 可执行文件 .EXE 调试 最终程序 5.1.1 汇编语言源程序的结构 一个基本的汇编语言程序框架如下: stack SEGMENT DB 100 DUP (‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS END start 5.1.2 汇编语言的语句与格式 汇编语言的语句有两种: 指令性语句——由8086指令助记符构成的语句 指示性语句——由伪指令构成的语句 指令性语句的格式为: [标号:] 指令助记符 目的操作数,源操作数 ;注释 指示性语句的格式为: [名字] 伪指令 操作数1,操作数2,…,操作数n ;注释 注:各部分之间至少要用一个空格作为分隔符。 ●指令性语句由CPU执行,每一条指令性语句都有一条机器码指令与其对应; ●指示性语句由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。 指令性语句汇编时生成机器码; 指示性语句汇编时不生成机器码。 5.1.3 语句中的操作数 2.标号——指令所在内存单元的符号地址 3.变量 变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地 址或名字。 变量也有三个属性: 段地址—变量所在段的段地址 偏移量—变量单元地址与段首地址之间的位移量 类 型—有BYTE、WORD和DWORD三种 变量在程序中作为存储器操作数被引用 标号和变量名的使用规则 组成:A-Z(不分大小写), 0-9, ?@ . _ $ 不能以数字开头,句号(.)只能作为首字符 长度小于31个字符 不能与关键字(指令助记符、伪指令、预定义符号等)重名 不能重复定义 例如: 正确的:LP1, AGAIN, NEXT, _GO, OK_1 错误的:4M, LOOP, AAA, #ABC 4.表达式 表达式是常数、寄存器、标号、变量与运算符的组合。 包括数值表达式和地址表达式。 MOV AX, 12 - 4 ;数值表达式 LEA BX, [ string + 4 ] ;地址表达式 运算符有5种:算术、逻辑、关系、取地址、属性。 5)属性运算符 PTR:用来临时改变存储器操作数的类型。 格式:类型 PTR 存储器操作数 BYTE、WORD、DWORD 用于描述数据存储单元(变量)地址 NEAR、FAR 用于描述转移、调用的目的地址 5.2 伪指令 数据定义伪指令 符号定义伪指令 段定义和段寄存器指定伪指令 过程定义伪指令 结束伪指令 5.2.1 数据定义伪指令 DB DW 变量 DD 操作数1,操作数2,…… DQ DT 功能:用于定义变量,用变量和存储单元相联系,为变量分配内存单元 DB字节类型 DW字类型 DD双字类型 DQ四字类型 DT五字类型 格式中操作数的形式: 1、一个或多个常数
显示全部
相似文档