第4章汇编语言及汇编语言程序设计
- 格式:ppt
- 大小:491.50 KB
- 文档页数:62


第4章汇编语言程序设计
4.1 汇编语言基本概念4.2 汇编语言程序设计4.1 汇编语言基本概念
4.1.1 程序设计语言4.1.2 汇编语言的语句结构4.1.3 伪指令
返回本章首页4.1.1 程序设计语言按照语言的结构及其功能可以分为三种:1.机器语言:机器语言是用二进制代码0和1表示指令和数据的最原始的程序设计语言。2.汇编语言:在汇编语言中,指令用助记符表示,地址、操作数可用标号、符号地址及字符等形式来描述。3.高级语言:高级语言是接近于人的自然语言,面向过程而独立于机器的通用语言。
返回本节4.1.2 汇编语言的语句结构1.汇编语言的指令类型MCS-51单片机汇编语言,包含两类不同性质的指令。(1)基本指令:即指令系统中的指令。它们都是机器能够执行的指令,每一条指令都有对应的机器码。(2)伪指令:汇编时用于控制汇编的指令。它们都是机器不执行的指令,无机器码。2.汇编语言的语句格式汇编语言源程序是由汇编语句(即指令)组成的。汇编语言一般由四部分组成。其典型的汇编语句格式如下:标号:操作码操作数;注释START:MOVA,30H;A←(30H)
返回本节4.1.3 伪指令1.ORG:汇编起始地址用来说明以下程序段在存储器中存放的起始地址。例如程序:ORG1000HSTART:MOVA,#20HMOVB,#30H┇2.EQU:赋值给变量标号赋予一个确定的数值。3.DB:定义数据字节把数据以字节数的形式存放在存储器单元中。4.DW:定义数据字按字的形式把数据存放在存储单元中。5.DS:定义存储区从指定的地址单元开始,保留一定数量存储单元。6.BIT:位定义确定字符名为确定的位地址值。7.END:汇编结束
返回本节4.2 汇编语言程序设计4.2.1 汇编语方程序设计步骤4.2.2 顺序程序4.2.3 分支程序4.2.4 循环程序4.2.5 子程序4.2.6 位操作程序
返回本章首页4.2.1 汇编语方程序设计步骤1.分析问题2.确定算法3.设计程序流程图4.分配内存单元5.编写汇编语言源程序6.调试程序
习题4
1. 什么是“三种基本结构”?解释“基本”两个字在其中的含义。
答:三种基本结构指:顺序结构,选择结构、循环结构。
使用这3种结构,可以编制出任何所需要的程序,因此冠以“基本”结构。
2. 什么叫做“控制转移指令”?它和数据传送、运算指令有什么区别?它是怎样实现它的功能的?
答:控制转移指令是可以改变指令执行顺序的指令。数据传送、运算指令总是顺序执行的,而控制转移指令通过改变IP和/或CS寄存器的值,改变了程序指令的执行顺序。
3. 指令“JMP DI”和“JMP WORD PTR [DI]”作用有什么不同?请说明。
答:上述两条指令都是段内近转移指令,但是偏移地址的来源不同。指令“JMP DI”执行时,新的偏移地址在DI寄存器内,“JMP WORD PTR [DI]”时,目的偏移地址在存储单元中,该存储单元的地址在DS: DI中。
4. 已知(AX)= 836BH,X分别取下列值,执行“CMP AX, X”后,标志位ZF、CF、OF、SF各是什么?
(1)X=3000H (2)X=8000H (3)X=7FFFFH (4)X=0FFFFH (5)X=0
答:上述指令执行后,标志位ZF、CF、OF、SF 的状态分别是:
(1) ZCOS=0010 (2) ZCOS=0000 (3) ZCOS=0010 (4) ZCOS=0101
(5) ZCOS=0001
5. 已知(AX)= 836BH,X分别取下列值,执行“TEST AX, X”后,标志位ZF、CF、OF、SF各是什么?
(1)X=0001H (2)X=8000H (3)X=0007H (4)X=0FFFFH (5)X=0
答:上述指令执行后,标志位ZF、CF、OF、SF 的状态分别是:
(1) ZCOS=0000 (2) ZCOS=0001 (3) ZCOS=0000 (4) ZCOS=0001
《汇编语言程序设计》复习资料
一、基本概念
1、8088/8086CPU内部寄存器有__14____个
,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是 数据 总线 、 控制 总线和 地址 总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成 物理地址 和逻辑地址两种,逻辑地址由
段地址 和 偏移地址 两部分构成,段地址是每个存储器段的 起始地址 ;偏移地址则是相对于每个段第一个存储单元的 偏移值 。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址16D(或10H)+ 偏移地址___。
6、存储器中,数据是以 字节 为单位存放的,它是一个 8位 二进制数,16位二进制数是 2个字节 ,又称为 字 ;每个存储单元可以存放一个 字节 ;一个字则占用两个存储单元,存放时要将 低字节 放在地址较小的存储单元中。
第四章 汇编语言程序设计
4.1 程序设计语言
4.1.1 机器语言
以二进制代码形式表示指令和数据的语言.(机器码)
如 00111010 + 01011100 → 30H
其机器语言程序为 符号语言程序
二进制 十六进制
01110100 74H MOV A, #3AH
00111010 3AH
00100100 24H ADD A, #5CH
01011100 5CH
11110101 F5H MOV 30H, A
00110000 30H
计算机能够识别机器语言,并能够按设计好的逻辑执行这一串代码所规定的动作.但这种语言难懂、难记、易错和编程困难。
借助助记符形成符号语言,反映指令功能和主要特征,这样便于理解和记忆,这就形成汇编语言。
4.1.2 汇编语言
用符号来表示指令和地址的语言就称作符号语言,又称作汇编语言。这也是一种面向机器的语言。
1 汇编语言的符号
往往用人们容易辨认、阅读和记忆的字母符号。
(1)助记符:
指令系统,如加法 ADD,减法 SUB(TRACT),传送 MOV(E)
伪指令,这是汇编控制指令
(2)符号地址和标号:
用一些便于、记忆和理解的符号组,如 LOOP、NEXT
2 汇编
(1) 几个概念
*源程序: 用符号语言编写的程序。