收藏 分享(赏)

第五章_汇编设计.ppt

上传人:11xg27ws 文档编号:5787996 上传时间:2019-03-17 格式:PPT 页数:69 大小:596.50KB
下载 相关 举报
第五章_汇编设计.ppt_第1页
第1页 / 共69页
第五章_汇编设计.ppt_第2页
第2页 / 共69页
第五章_汇编设计.ppt_第3页
第3页 / 共69页
第五章_汇编设计.ppt_第4页
第4页 / 共69页
第五章_汇编设计.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、第五章 汇编语言程序设计,第五章是重点章节,第五章的内容,5.1概述 5.2汇编语言语句 5.3汇编语言数据 5.4伪指令语句 5.5宏指令语句 5.6顺序程序设计 5.7分枝程序设计,5.8循环程序设计 5.9自程序设计 5.10实用程序设计示例 5.11汇编语言程序的开发,5.1概述,例5-1A+B S= CA-B,5.2汇编语言语句-(本节内容),伪指令和指令的通用格式: 1.名字字段(Name Field) 131名字字段的三个注意事项 开头 2.操作符字段(Operator Field) 保留字 3.操作数字段(Operand Field) 4.注释字段(Comment Field)

2、,5.3汇编语言数据-(本节内容),5.3.1符号定义语句5.3.2数据定义语句5.3.3数据5.3.4运算符,5.3 汇编语言数据 5.3.1符号定义语句1,1.等值伪指令 符号 EQU 表达式/符号 (1)常数表达式 (2)地址表达式 (3)变量名、标号、或指令助记符的化名 2.等号伪指令 符号=表达式/符号 (1)将符号重新定义 (2)除指令外将变量名或标号起化名,5.3 汇编语言数据 5.3.1符号定义语句2,1.等值伪指令 符号 EQU 表达式/符号 2.等号伪指令 符号=表达式/符号 上述两者之间的区别: 1.等号伪指令可以重新定义符号 2.等号伪指令不可以重新定义汇编指令,EQU

3、可以。,5.3 汇编语言数据- 5.3.2数据定义语句-使用格式,DB 变量名 DW 表达式1,表达式2DD,5.3 汇编语言数据-5.3.2数据定义语句,段属性 变量的三个属性: 偏移量属性类型属性1.数值表达式 表达式的类型 2.?表达式3.字符串表达式4.带DUP的表达式,5.3.2数据定义语句-表达式使用1,1.数值表达式 例: age DB 50age1 DB 12H,34H,56Hdata1 DW 1234H,2345Hdata2 DD 4567H,6789H,5.3.2数据定义语句-表达式使用2,2. ?表达式 例: age DB ?age1 DB ?,?,?data1 DW ?

4、,?data2 DD ?,?,5.3.2数据定义语句-表达式使用3,3. 字符串表达式(DB256,DW/DD12 个) 例: name1 DB abcdefname2 DB zhang,wang,liname3 DW to,jename4 DD ma,le,5.3.2数据定义语句-表达式使用4,4. 带DUP表达式 例:DB 变量名 DW 表达式1 DUP(表达式2)DD DUP可以嵌套,5.3汇编语言数据- 5.3.3数据1,1.数值常数 二、八、十、十六进制2.字符常数(1)立即数 常数的应用 (2)位移量(3)伪指令的赋值,一、常数,5.3汇编语言数据- 5.3.3数据2,二、寄存器操

5、作数 三、存贮器操作数 1.变量 (1)变量名地址 (2)变量的地址 变量名 DW/DD 另个变量名此时存的是地址,5.3汇编语言数据- 5.3.3数据3,2.标号 (1)段属性 标号的三个属性 (2)偏移量属性 near(3)类型属性 far 类型属性可以用label 来设置,如果不设置的话,有默认属性,5.3汇编语言数据- 5.3.3数据4,Label的使用a.与指令语句连用例:sub1_FAR Label farsub1: MOV AX,789AHb.与数据定义语句连用例:DA_W2 Label WORDDA_W1 DB 10H DUP(12H,34H),5.3汇编语言数据- 5.3.4

6、运算符,1.算术运算符,5.3汇编语言数据- 5.3.4运算符,2.逻辑运算符,5.3汇编语言数据- 5.3.4运算符,3.关系运算符,5.3汇编语言数据- 5.3.4运算符,4.数值返回运算符 (1)SEG和OFFSET运算符 (2)TYPE运算符 (3)LENGTH运算符和SIZE运算符,5.3汇编语言数据- 5.3.4运算符,5.属性运算符PTR 6.运算符优先级,5.4伪指令语句(内容),5.4.1段定义语句 5.4.2过程定义语句 5.4.3定位语句和位置计数器 5.4.4偶地址控制语句 5.4.5程序标题语句,5.4.1段定义语句-一、段定义伪指令,一、段定义伪指令(SEGMENT

7、/END) 1.段名(必选) 2.定位类型(可选) 3.组合类型(可选) 4.类别名(可选),5.4.1段定义语句- 2.定位类型,1.PAGE 2.PARA 3.WORD 4.BYTE,5.4.1段定义语句- 3.组合类型,1.NONE(默认) 2.PUBLIC 3.COMMON 4.STACK 5.AT表达式 6.MEMORY,5.4.1段定义语句- 4.类别名,必须用单引号括起来,在连接处理时,LINK把类别名相同的段放在连续的存储区,他们仍是各自独立的段,5.4.1段定义语句二、段寻址伪指令,ASSUME 段寄存器名:段名,段寄存器名:段名 ASSUME 段寄存器名:nothing,A

8、SSUME nothing,5.4.1段定义语句三、段寄存器的加载,1.DS和ES的加载 2.SS的加载 3.CS的加载 (1)END加载起始地址 (2)JMP、CALL、RET指令,(1)自动加载 (2)执行程序,5.4.2过程定义语句,使用格式: 过程名 PROC NEAR/FARRET 过程名 ENDP,5.4.3定位语句和位置计数器,使用格式:$ORG 表达式,5.4.4偶地址控制语句,使用格式:EVEN,5.4.5程序标题语句P193,Title 文本 列表文件的每一页的第一行都显示这个标题,5.5宏指令语句(内容),1.宏定义 2.宏调用 3.宏展开,5.6顺序程序设计-例5-2(

9、1),10*(X+Y)-3*(Z-1) F=X+Y+Z,5.6顺序程序设计-例5-2(2),TITLE EXAMPLE PROGRAM DATA SEGMENTVARX DW 123HVARY DW 456HVARZ DW 789HF1 DW ?F2 DW ? DATA ENDS,5.6顺序程序设计-例5-2(3),STACK1 SEGMENTDW 20H DUP(0) STACK1 ENDS,5.6顺序程序设计-例5-2(4),CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 BEGIN: MOV AX,DATAMOV DS,AX,5.6顺序程序设计

10、-例5-2(5),MOV AX,VARXADD AX,VARYMOV BX,10MUL BXMOV BX,VARZDEC BXMOV CX,BXSAL BX,1ADD BX,CXSUB AX,BX,5.6顺序程序设计-例5-2(6),MOV BX,VARXADD BX,VARYADD BX,VARZXOR DX,DXDIV BXMOV F1,AXMOV F2,DXMOV AH,4CHINT 21H CODE ENDSEND BEGIN,软中断INT 21H,5.6顺序程序设计-两种退出用户程序的办法,CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1 PR

11、OC1 PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXRET CODE ENDSEND PROC1,5.6顺序程序设计-例5-3(1),TITLE TABLE LOOK_UP DATA SEGMENT TABLE DB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB 4 ASCI DB ? DATA ENDS,5.6顺序程序设计-例5-3(2),STACK1 SEGMENT PARA STACKDW 20H DUP(0) STACK1 END

12、S,5.6顺序程序设计-例5-3(3),CODE SEGMENTASSUME CS:CODE,DS:DATA BEGIN: MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLEADD BL,HEXMOV AL,BXMOV ASCI,AL,5.6顺序程序设计-例5-3(4),MOV AH,4CH INT 21H CODE ENDS END BEGIN XLAT指令:XLAT 表首址 或 XLAT 默认bx,al两寄存器,5.6顺序程序设计-例5-3(5),BEGIN: MOV AX,DATAMOV DS,AXLEA BX,TABLEMOV AL,HEXXLAT TABL

13、EMOV ASCI,ALMOV AH,4CHINT 21H,5.7 分支程序设计5.7.1转移指令(1),5.7.1 转移指令 一、无条件转移指令 JMP 目标 1.直接寻址方式 2.间接寻址方式,5.7 分支程序设计5.7.1转移指令(2),1.直接寻址方式(段内转移),5.7 分支程序设计5.7.1转移指令(3),1.直接寻址方式(段间转移),5.7 分支程序设计5.7.1转移指令(4),2.间接寻址方式 a.段内转移(间接) 例:JMP CX JMP WORD PTRBX b.段间转移(间接) JMP DWORD PTRBX,5.7 分支程序设计5.7.1转移指令(4),5.7.1 转移

14、指令 二、条件转移指令 1.简单条件转移指令 2.无符号数条件转移指令 3.带符号数条件转移指令,5.7 分支程序设计5.7.1转移指令(5),1.简单条件转移指令,5.7 分支程序设计5.7.1转移指令(6),2.无符号数条件转移指令,5.7 分支程序设计5.7.1转移指令(7),3.带符号数条件转移指令,5.7 分支程序设计5.7.2分支程序设计(1),5.7.2分支程序设计 一、直接用条件转移指令实现程序分支 二、用跳转表实现多路分支,5.7 分支程序设计5.7.2分支程序设计(1),一、直接用条件转移指令实现程序分支,一、直接用条件转移指令实现程序分支,5.7 分支程序设计5.7.2分支程序设计(1),5.7 分支程序设计5.7.2分支程序设计(1),二、用跳转表实现多路分支,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报