微机原理-第5版(周荷琴)-第四章.pptx
《微机原理-第5版(周荷琴)-第四章.pptx》由会员分享,可在线阅读,更多相关《微机原理-第5版(周荷琴)-第四章.pptx(57页珍藏版)》请在三一办公上搜索。
1、微型计算机原理与接口技术第5版第4章汇编语言程序设计,本章主要内容:4.1 汇编语言程序格式和伪指令4.2 DOS系统功能调用和BIOS 中断调用4.3 汇编语言程序设计方法与实例,什么是汇编语言(Assembly Language)?使用指令的助记符、符号地址和标号等编写的程序设计语言。每条指令都有对应的机器码,不同的CPU使用不同的汇编语言。用汇编语言编程的优点汇编程序运行速度快,实时性好,占用内存空间小,能最大限度地发挥硬件的作用。汇编语言的适用场合绝大部分系统软件都用汇编语言编写,大多数涉及快速处理、位处理和访问硬件设备的高效程序都是汇编程序。如:实时数据处理程序、实时控制程序、高级绘
2、图程序、游戏程序等。,汇编语言编程的缺点和难点编程效率低,程序设计的技巧性强,要求编程人员熟悉计算机的硬件结构和指令系统;编程和调试程序周期长,在一种机器上编写的程序,不能移植到别的类型机器上。学会一种汇编语言,就能举一反三,触类旁通。学会8086汇编语言编程,就打好了学习32位高档机程序设计的基础,也便于从事单片机和嵌入式系统的设计开发。,汇编语言的汇编处理过程,1)按语法规则编写源程序PROG.ASM;2)用汇编程序将源程序翻译成目标文件PROG.OBJ;3)用连接程序对1个或几个.OBJ模块连接后,生成能在机器上执行的程序PROG.EXE。如果汇编过程中出错,要在纠错后重新汇编;连接过程
3、也会出现新的错误,需要反复修改。,4.1 汇编语言程序格式和伪指令,4.1.1 汇编语言程序格式4.1.2 伪指令语句4.1.3 完整的汇编语言程序框架,4.1.1 汇编语言程序格式,汇编语言程序由指令语句和伪指令语句组成。1.指令语句指令语句由4部分组成,格式:标号:指令助记符 操作数;注释1)标号标号是指令的符号地址,后面须加冒号“:”。可作标号的字符:英文字母、数字或某些特殊字符,如*_?等。标号以英文字母或特殊字符打头,系统保留字不能做标号,如:4AB、MOV、DW、LOOP、M-D等都不是合法的标号。标号具有段基址、偏移量及类型三种属性。,指令语句,2)指令助记符它是指令语句中不可缺
4、少的部分,表示指令的操作码。3)操作数1条指令可包含1个或2个操作数,也可没有操作数。操作数的组成:常数 二进制数,加B;10进制数,可加D或省略;16进制数,加H,AF前要加0;2-10进制BCD数,加H,要用调整指令字符或字符串 用单引号 括起来变量 程序运行期间可修改,数值可由DB、DW、DD等来定义标号 如JMP NEXT存储器 指令系统中已介绍表达式 将专门介绍,指令语句,4)注释说明指令或程序的功能,增强程序可读性,可省略。注释前必须加分号“;”。,2.伪指令语句,伪指令语句的格式如下:名字 伪指令指示符 操作数;注释1)名字是给伪指令语句起的名称,格式要求与标号类似,名字后不能跟
5、冒号“:”。2)伪指令指示符是伪指令语句中不可缺少部分,常用伪指令语句:段定义语句 SEGMENT和ENDS 段分配语句 ASSUME 过程定义语句 PROC和ENDP 变量定义语句 DB、DW、DD、DQ、DT 程序结束语句 END,伪指令语句,3)操作数有的伪指令不允许带操作数,有的可带1个或多个操作数。4)注释注释部分与指令语句的要求类似。,3.表达式和运算符,将常数、符号、寄存器等通过运算符连接起来的式子叫做表达式。不论是常数、变量还是标号,都可用表达式的形式给出。表4.1给出了常用表达式的运算符,还给出了一些简单的例子。,常用表达式的运算符,常用表达式的运算符(续),常用表达式的运算
6、符(续),如果一个表达式中有多个运算符,则要根据优先级别从高到低的顺序进行运算,优先级别相同的运算符,则按从左到右的顺序进行运算。,运算符的优先级,运算符,1)算术运算符例4.1 利用现行地址符“$”和减法运算符“-”求数组的长度。程序段:DATA SEGMENT;数据段LIST DB 12,38,5,29,74;LIST数组(变量)COUNT EQU$-LIST;COUNT=现行地址-;LIST的偏移地址DATA ENDS MOV CX,COUNT;CXLIST数组长度 LIST变量的起始地址偏移量为0,“$”符表示本指令的现行地址偏移量,它等于5,所以$-LIST=5-0=5,并赋予COU
7、NT,这样可很方便地求得变量长度。,运算符,2)逻辑运算符和关系运算符例4.2 将表达式的运算结果送到寄存器中。MOV AL,NOT 10110101B;AL01001010B MOV BL,10H GT 20H;BL00H,因10H20H为假,输出全0MOV BX,6 EQ 0110B;BXFFFFH,因6=6为真,输出全1,运算符,3)数值返回运算符数值返回运算符OFFSET和SEG例4.3 将TABLE变量的段基址:偏移量送入 DS:BX。TABLE DB 40H,79H,24H,30H,19H;数字09的 12H,02H,78H,00H,18H;七段代码表 MOV BX,OFFSET
8、TABLE;BXTABLE的偏址 MOV AX,SEG TABLE;AXTABLE的段址 MOV DS,AX;DSTABLE的段址,运算符,数值返回运算符LENGTH返回变量单元数,SIZE返回变量的总字节数。TYPE加在变量前,返回变量的类型属性;加在标号前,返回标号的距离属性。TYPE运算符的返回值如表4.3。,运算符,例4.4 LENGTH、SIZE和TYPE运算符返回值举例A1 DB 20H,30HA2 DW 1234H,5678HA3 DD?L1:MOV AH,TYPE A1;AH 1(字节)MOV BH,TYPE A2;AH 2(字)MOV AL,TYPE A3;AL4(双字)MO
9、V BL,TYPE L1;BL 0FFH(近标号)MOV BH,SIZE A2;BH 4(A2变量的总字节数)MOV CL,LENGTH A2;CL2(A2变量的字单元数),运算符,例4.5 用LENGTH设置堆栈。STAPN DB 100 DUP(?);定义100个字节空间TOP EQU LENGTH STAPN;TOP 100(变量STAPN的单元数为100字节),运算符,4)修改属性运算符例4.6 对存储单元的属性进行修改。INC BYTE PTR BX;将字节存储单元的内容增1用“BYTE PTR”指明存储单元BX为字节单元。MOVBX,ES:DI;BX(16ES+DI)的内容源操作数
10、DI也是存储单元,未加段超越前缀ES时,默认DS为段基地址,加了ES操作符后,段基地址修改成了ES。,4.1.1 汇编语言程序格式4.1.2 伪指令语句4.1.3 完整的汇编语言程序框架,4.1.2 伪指令语句,1.段定义语句段定义语句SEGMENT和ENDS,用来定义一个逻辑段。例4.7 用段定义语句定义一个数据段,段名为DATA,段中包含X、Y两个变量。DATA SEGMENT;数据段开始,DATA为段名;表示该段的基址X DW 1234H;变量X的段基址:偏移量;=DATA:0000,内容为1234HY DB 56H;变量Y的段基址:偏移量;=DATA:0002,内容为56HDATA E
11、NDS;数据段结束,1.段定义语句,段定义语句的一般形式:段名SEGMENT 定位类型 组合类型 分类名 PAGE(页)*NONE STACK*PARA(节)PUBLIC CODE WORD(字)STACK BYTE(字节)COMMON AT MEMORY;段中内容段名ENDS加“”项可省略,但堆栈段的组合类型是STACK,不可省略。省略项不写时,其值用带“*”的项,它们是隐含用法,用的是默认值。,1.段定义语句,内3个参数的功能:1)定位类型(Align Type)用LINK程序将程序中的段相互衔接时,用定位类型来确定该段存储器的起始边界要求。定位类型有四种:PAGE该段起始地址能被256(
12、页)整除 PARA该段起始地址能被16(节)整除 WORD该段起始地址能被2(字节)整除 BYPE起始地址可从任何地方开始,1.段定义语句,2)组合类型(Combine-Type)组合类型告诉LINK程序本段与其它段关系,包括:NONE 与其它段不连接,各段有独立段基址和偏移量。PUBLIC 同名同类别模块段连接成一段,段基址同,偏移量不同。COMMON 本段与其它段覆盖,偏移地址名称不同。STACK 这是堆栈段,不可省略。MEMORY 连接时该段放在所有段最后(最高地址)。AT 定义本段的段基地址。如AT 2000H定义该段的段基地址为20000H。3)分类名(class)LINK将分类名相
13、同的逻辑段组成1个段组,分类名有STACK,CODE和DATA等。,2.段分配语句,段分配语句ASSUME告诉汇编程序,4个段寄存器CS、DS、SS、ES分别与哪些段有关。格式如下,也可分两行书写。ASSUMECS:代码段名,DS:数据段名 SS:堆栈段名,ES:附加段名,3.过程定义语句,将结构和功能相同,仅有一些变量赋予的值不同的程序段独立编写,用过程定义伪指令PROC和ENDP进行定义,并把这些程序段称为过程(Procedure)或子程序,由主程序中的CALL语句来调用它们。过程定义格式:过程名PROCNEAR/FAR;过程内容RET 过程名ENDP,3.过程定义语句,在PROC伪语句中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 周荷琴 第四
链接地址:https://www.31ppt.com/p-6572758.html