第4章 汇编语言程序设计 mov ax 12h call display Jmp 1234h
mov ax,12h call display Jmp 1234h
主要内容 ■汇编语言源程序的结构 ■汇编语言语句格式 ■伪指令 ■功能调用 ■汇编语言程序设计
41汇编语言源程序 机器语言——二进制数形式的指令和数据。 B064是什么意思?这就是机器语言。既不直 观,又不易理解和记忆 MOV AL,64H;很容易记忆理解,这就是助记 符 助记符——用便于记忆的英语单词表示的指令 操作码。它反映了指令的功能和主要特征,便于人 们理解和记忆
指令除了操作码以外,还有一个操作数问题。 操作数可能放在存储器中,这就涉及操作数的 地址。程序中遇到转移指令或调用指令,也需要 知道转移地址,若采用具体地址就很不方便, 旦有错,改动也很麻烦。于是人们采用标号或 符号来代替地址,例: LPl: mov ax, VAR loop LPl 汇编语言——指令助记符,符号地址,标号, 伪指令等语言元素的集合以及这些元素使用的 规则。 用汇编语言编写的程序叫汇编语言源程序
汇编程序 汇编源程序需翻译成机器语言,变成可执 行文件,机器才能执行,这个翻译过程叫汇 编。——高级语言中称该过程为“解释”或 “编译”。执行翻译的程序称为“汇编程 序” 汇编语言 汇编程序 机器语言 源程序 目标程序 源程序的编译程序
源程序的编译程序 汇编程序 汇编语言 源程序 机器语言 目标程序
汇编语言程序设计与执行过程 ■输入汇编语言源程序→→源文件ASM ■汇编(编译) 目标文件OBJ ■链接 可执行文件EXE ■调试 最终程序
41.1汇编语言源程序的结构 汇编语言源程序通常由一个或几个程序 模块组成,每个模块一般由三个逻辑段组成: 数据段—存放数据、变量 堆栈段——堆栈区域 代码段—存放程序指令
一个基本的汇编语言程序框架如下: stack SEGMENT PARA stack 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
堆栈段 数据段 代码段
4.1.2汇编语言的语句与格式 汇编语言的语句有两种: 指令性语句—一由8086指令助记符构成的语句 指示性语句——由伪指令构成的语句 ■指令性语句的格式为: 标号:指令助记符且的操作数,源燥作数注程 指示性语句的格式为: 名字热指操作数1,操作数2,,操作数:注程 注:各部分之间至少要用一个空格作为分隔符
●指令性语句由cPU执行,每一条指令性语 句都有一条机器码指令与其对应 ●指示性语句由汇编程序执行。它指出汇编 程序应如何对源程序进行汇编,如何定义变 量、分配存储单元以及指示程序开始和结束 等。指示性语句无机器码指令与其相对应。 指令性语句汇编时生成机器码 指示性语句汇编时不生成机器码