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