电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微型计算机原理及应用 教学课件 ppt 作者 许立梓 第4章 汇编语言及汇编程序设计

59页
  • 卖家[上传人]:E****
  • 文档编号:89497409
  • 上传时间:2019-05-25
  • 文档格式:PPT
  • 文档大小:470KB
  • / 59 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、微机原理及应用,主讲教师 陈 玮,2019/5/25,第4章 汇编语言及汇编程序设计,2,第四章 汇编语言及汇编程序设计,一、概述 二、伪指令 三、表达式及运算符 四、宏指令 五、汇编语言程序的上机过程 六、汇编程序的设计过程 七、汇编程序基本设计方法 八、系统功能调用 例题,作业,2019/5/25,第4章 汇编语言及汇编程序设计,3,一、概述,汇编语言是一种面向CPU指令系统的程序设计语言。指令格式:,1、标号是指该指令的符号地址,以冒号结束; 2、用助记符表示操作码,是指令名称的代表符号,是语句中的关键字,不可缺省;,2019/5/25,第4章 汇编语言及汇编程序设计,4,一、概述(续上页),3、用符号代表操作数或操作数地址。 操作数是本指令执行需要的数据。 有些指令不需要指明操作数,可以默认;有些指令需要两个操作数;还有些操作数可以用表达式。 4 、注释项是可选项,用分号开始。,2019/5/25,第4章 汇编语言及汇编程序设计,5,一、概述(续上页),用汇编语言编写的程序称为源程序,常用的汇编程序有ASM-86和宏汇编MASM-86。 汇编语言源程序的组成部分: 可以使用CP

      2、U指令系统所提供的指令(硬指令); 可以使用各种符合汇编语法的表达式, 运算符以及自行定义生成满足需要的目标代码的指令。,2019/5/25,第4章 汇编语言及汇编程序设计,6,1、标号,8086/8088汇编语言中使用的标号必须遵循下列规则: (1)大小写字母; (2)数字09; (3)某些特殊字符(, _,?) (4)第一个字符不能是数字, “?”不能单独作为标号。 (5)标号的有效长度是31; 有效标号:START MY_PROGRAM 无效标号:MAIN% 1BETA,2019/5/25,第4章 汇编语言及汇编程序设计,7,二、伪指令,伪指令是告诉汇编程序生成目标代码的指令语句。 1、 符号定义伪指令 2、内存数据定义伪指令 3、段定义伪指令 4、段寄存器说明伪指令 5、 定位伪指令 6、 子程序伪指令,2019/5/25,第4章 汇编语言及汇编程序设计,8,1、符号定义伪指令,(1)EQU伪指令 (2)等号(赋值)伪指令 (3)解除符号定义伪指令,2019/5/25,第4章 汇编语言及汇编程序设计,9,(1)EQU伪指令,伪指令格式: EQU 指令功能: 给符号名赋值。符号名

      3、可以由程序员取定, 表达式应该是可以计算得出一个具体值。例: PORT EQU 88H ;定义符号PORT代表88H DATA EQU PORT+2 ;定义符号DATA代表 ;PORT+2 注意: 用EQU定义的符号,不能重新再定义,除非用PURGE伪指令解除; 如果在表达式中用了其他符号,必须事先定义。,2019/5/25,第4章 汇编语言及汇编程序设计,10,(2)等号(赋值)伪指令,伪指令格式: = 指令功能: 与EQU类似,唯一的区别是“=”可以随时对符号名赋新值, 而不必使用PURGE伪指令。 例: PORT=88H ;定义符号PORT代表88H DATA=PORT+2 ;定义符号DATA代表PORT+2,2019/5/25,第4章 汇编语言及汇编程序设计,11,(3)解除符号定义伪指令,伪指令格式: PURGE 符号1, 符号2, 指令功能: 撤消用EQU赋值的符号名, 以便于赋予新值。 例: PURGE PORT, DATA ;撤消用EQU对PORT、 ;DATA的赋值,2019/5/25,第4章 汇编语言及汇编程序设计,12,2、内存数据定义伪指令,格式: 变量 命令

      4、参数1, 参数2, 功能: 数据定义语句用来分配存储单元。数据定义语句的命令有: DB 定义字节数据 DW 定义字数据 DD 定义双字数据 DQ 定义8字节数据 DT 定义10字节数据,2019/5/25,第4章 汇编语言及汇编程序设计,13,2、内存数据定义伪指令,复制操作符 格式: DUP 数据1,数据2, 功能:汇编程序把所定义的数据按先后次序连续分配存储空间,所起的名称只代表第一个单元的字符。 例题,2019/5/25,第4章 汇编语言及汇编程序设计,14,2、内存数据定义伪指令,例: VAR1 DB 32H,ABC VAR2 DW 1234H,40H,AB DD 12345678H DB ?, 11000011B ARRY1 DB 2 DUP(0,1) ARRY2 DW 2 DUP(?,1) ,2019/5/25,第4章 汇编语言及汇编程序设计,15,三、表达式及运算符,在汇编语言中,指令的操作数除了可以是常数、寄存器、变量和标号外,还可以是表达式。 表达式是由常数、寄存器、变量、标号和专用运算符组合而成。 在程序汇编时,汇编程序自动把这些表达式计算出来,形成具体的指令操作数

      5、。 1、常数、变量和标号 2、表达式及运算符,返回,2019/5/25,第4章 汇编语言及汇编程序设计,16,1、常数、变量和标号,常数 包括数值型常数和字符型常数。 如:12H,1234H,AB 变量 变量代表存放在存储单元中的数据。 定义后的变量有三个属性: (1)段属性表示变量所在的逻辑段; (2)偏移量属性表示变量所在逻辑段中的偏移地址; (3)类型属性表示变量占用的存储单元数,DB、DW、DD、DQ、DT。,2019/5/25,第4章 汇编语言及汇编程序设计,17,1、常数、变量和标号,标号 是指令目标代码的符号地址。 在转移指令中常用标号代替具体转移地址,标号的使用使编写汇编语言程序时,不必考虑程序汇编、连接后系统分配给指令代码的实际地址。 标号同样有三个属性: (1)段属性表示指令代码所在的逻辑段; (2)偏移量属性表示指令代码所在的逻辑段中的偏移地址; (3)距离属性表示标号可作段内转移或段间转移(NEAR、FAR)。,2019/5/25,第4章 汇编语言及汇编程序设计,18,2、表达式及运算符,表达式由操作数和运算符组成。 其中,操作数可以是常数、变量、寄存器和标号。

      6、 运算符包括算术运算符、逻辑运算符、关系运算符、分析运算符和属性运算符五类运算。 注意:运算符的先后次序 。,2019/5/25,第4章 汇编语言及汇编程序设计,19,五、汇编语言程序的上机过程,建立汇编语言的环境,典型的汇编语言开发环境都包含4种工具: 1、编辑程序 2、汇编程序 3、连接程序 4、汇编程序的上机过程,2019/5/25,第4章 汇编语言及汇编程序设计,20,1、编辑程序,(1) 编辑程序是用来输入汇编语言源程序的工具,包括EDIT.EXE, EDLIN.EXE等; (2) 汇编语言是以文本格式保存的; (3) 汇编程序的源程序必须以ASM作为扩展名; (4) 输入和编辑源程序时必须遵循汇编语言的语法规定。 汇编程序的基本结构 例题 实际操作: 编辑源程序 TEST11.ASM,2019/5/25,第4章 汇编语言及汇编程序设计,21,汇编程序的基本结构,DATAA SEGMENT ;数据段内定义各类程序执行需要的相关的数据 DATAA ENDS STACKA SEGMENT ;根据具体程序的需要,定义堆栈段供程序执行过程 ;中保持临时数据 STACKA ENDS C

      7、ODEA SEGMENT ASSUME CS:CODEA,DS:DATAA,SS:STACKA START: MOV AX,DATAA MOV DS,AX ;完成具体操作的指令序列 CODEA ENDS END START,2019/5/25,第4章 汇编语言及汇编程序设计,22,实际操作(实现X+YZ, 源程序文件名: TEST11.ASM),DATA1 SEGMENT ; 数据段 X DB 05H Y DB 04H Z DB ? DATA1 ENDS CODE1 SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ; 数据段基址AX MOV DS,AX ; AX DS MOV AL,X ; 内存单元X的数据AL ADD AL,Y ; 内存单元Y的数据+ALAL, 即X+Y AL MOV Z, AL ; AL内存单元Z, 即求和结果送回Z MOV AH,4CH ;送功能号 INT 21H ;系统功能调用,返回操作系统 CODE1 ENDS END START,2019/5/25,第4章 汇编语言及汇编程序设计,23,2、汇编程

      8、序,(1) 汇编程序用来把源程序翻译成机器码, 包括ASM.EXE, MASM.EXE; (2) 汇编程序翻译源程序, 产生一个目标代码文件,与源程序文件名相同,扩展名为OBJ。 实际操作: 产生目标文件TEST11.OBJ,2019/5/25,第4章 汇编语言及汇编程序设计,24,3、连接程序,通过汇编产生的是OBJ文件是二进制目标文件, 但用的是浮动地址, 不能直接运行, 必须用连接程序LINK.EXE连接和定位。 实际操作: 产生可执行文件TEST11.EXE,2019/5/25,第4章 汇编语言及汇编程序设计,25,4、汇编程序的上机过程,实际操作演示,2019/5/25,第4章 汇编语言及汇编程序设计,26,data1 segment ; 数据段开始 x db 05h y db 04h z db ? buff db 5+4= $ ; 定义一个数据串,数据串规定以$结尾, 为了显示5+4= data1 ends code1 segment ; 代码段开始 assume cs:code1,ds:data1 ; 段寄存器说明伪指令 start: mov ax,data1 ; 将数据

      9、段基址ax mov ds, ax ; axds mov al, x ; 内存数据xal add al, y ; 内存数据Y+alal, 即X+Y al mov z, al ; alZ, 即X+Y Z lea dx, buff ; 装载 buff的有效地址 mov ah, 09h ; 送功能号 int 21h ;系统功能调用,显示屏显示字符串5+4= mov dl,z ; 将z送dl add dl,30h ; 将z的值转换成对应的ASCII码值 mov ah, 02h ;送功能号 int 21H ;系统功能调用, 将x+y的和z以单字符形式在显示屏上显示出来 mov ah,4ch ; 送功能号 int 21h ; 系统功能调用,返回DOS状态 code1 ends end start,返回,2019/5/25,第4章 汇编语言及汇编程序设计,27,六、汇编程序的设计过程,1、分析问题确定算法 2、绘制程序流程图(做作业一定要求) 3、编写代码,2019/5/25,第4章 汇编语言及汇编程序设计,28,七、汇编程序基本设计方法,1、 简单程序 作业 2、 分支程序 3、 循环程序 4、 子程序,2019/5/25,第4章 汇编语言及汇编程序设计,29,1、简单程序,简单程序是指顺序结构程序, 在程序中不包含任何转移类指令。 执行时按指令的先后次序从第一条开始逐条执行,直至程序结束。 例题,2019/5/25,第4章 汇编语言及汇编程序设计,30,例题,1、有X,Y两个16位数3456H和0ABCDH,求两数之和,并将结果送到Z单元。 解: 编写流程图,2019/5/25,第4章 汇编语言及汇编程序设计,31,例题 程序清单,DATA SEGMENT X DW 3456H Y DW 0ABCDH Z DW 0 DATA ENDS ;设置数据段,取名DATA CODE SEGMENT ASSUME DS :DATA,CS:CODE START :MOV AX

      《微型计算机原理及应用 教学课件 ppt 作者 许立梓 第4章 汇编语言及汇编程序设计》由会员E****分享,可在线阅读,更多相关《微型计算机原理及应用 教学课件 ppt 作者 许立梓 第4章 汇编语言及汇编程序设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.