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

山东大学微机原理与应用课件04汇编语言程序设计

70页
  • 卖家[上传人]:东***
  • 文档编号:277280112
  • 上传时间:2022-04-14
  • 文档格式:PPT
  • 文档大小:332.07KB
  • / 70 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第第4 4章章汇编语言程序设计汇编语言程序设计1主要内容汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计24.14.1 汇编语言源程序了解:汇编语言源程序的结构汇编语言语句类型及格式3一、汇编语言源程序结构一、汇编语言源程序结构41. 汇编语言源程序与汇编程序汇编语言源程序汇编程序5用助记符编写用助记符编写汇编程序汇编程序汇编语言源程汇编语言源程序序机器语言目标机器语言目标程序程序源程序的编译程序源程序的编译程序2. 汇编语言程序设计与执行过程输入汇编语言源程序(EDIT)汇编(MASM)链接(LINK)调试(TD)6源文件源文件 . . ASM目标文件目标文件 . .OBJ可执行文件可执行文件. .EXE最终程序最终程序二、汇编语言语句类型及二、汇编语言语句类型及格式格式71. 汇编语言语句类型指令性语句指示性语句8CPU执行的语句,能够生成执行的语句,能够生成目标代码目标代码CPU不执行,而由汇编程序执行不执行,而由汇编程序执行的语句,不生成目标代码的语句,不生成目标代码2. 汇编语言语句格式 指令性语句: 标号: 前缀 助记符 操作数,操作数 ;注释9指令的符号

      2、地址指令的符号地址标号后要有冒号标号后要有冒号操作码操作码注释前加分号注释前加分号指示性语句格式名字 伪指令助记符 操作数 ,操作数, ;注释10变量的符号地址变量的符号地址其后不加冒号其后不加冒号指示性语句中至指示性语句中至少有一个操作数少有一个操作数3. 标号、名字标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。 114. 操作数寄存器存储器单元常量变量或标号表达式12常 量数字常量字符串常量例:A MOV AL,A例:ABCD13汇编时被译成对应的汇编时被译成对应的ASCII码码41414141H H H H,42424242H H H H,43H43H43H43H,44H44H44H44H用单引号引起的字符或字符串用单引号引起的字符或字符串变 量代表内存中的数据区,程序中视为存储器操作数变量的属性: 变量所在段的段地址 变量单元地址与段首地址之 间的位移量。 字节型、字型和双字型14段段 值值偏移量偏移量类类 型型表达式算术运算逻辑运算*关系运算

      3、取值运算和属性运算其它运算15算术运算和逻辑运算符算术运算符+,-,*,/,MOD逻辑运算符AND,OR,NOT,XOR例:MOV AL,8 AND 4MOV AL,8+4-116取值运算符17取得其后变量或标号的偏移地址取得其后变量或标号的偏移地址取得其后变量或标号的段地址取得其后变量或标号的段地址TYPE 取取变量的类型变量的类型变量的类型变量的类型LENGTH 取所定义存储区的长度取所定义存储区的长度SIZE 取所定义存储区的字节数取所定义存储区的字节数n用于分析存储器操作数的属性用于分析存储器操作数的属性n获取变量的属性值获取变量的属性值OFFSETSEG取值运算符例 MOV AX,SEG DATA MOV DS,AX MOV BX,OFFSET DATA LEA BX,DATA18等价于等价于取值运算符例若BUFFER存储区用如下伪指令定义: BUFFER DW 200 DUP(0) 则: TYPE BUFFER 等于2 LENGTH BUFFER等于200 SIZE BUFFER等于40019属性运算符20n 用于指定其后存储器操作数的类型用于指定其后存储器操作数的类型n

      4、运算符:运算符:PTRn 例:例: MOV BYTR PTRBX,12H其它运算符方括号: 段重设符 段寄存器名: 21方括号中内容为操作数的偏移地址方括号中内容为操作数的偏移地址用于修改默认的段基地址用于修改默认的段基地址4.24.2 伪指令掌握:伪指令的格式及实现的操作伪指令的应用22伪指令由汇编程序执行的“指令系统”作用:定义变量;分配存储区定义逻辑段;指示程序开始和结束;定义过程等。23常用伪指令数据定义伪指令符号定义伪指令段定义伪指令结束伪指令过程定义伪指令宏命令伪指令24一、数据定义伪指令用于定义数据区中变量的类型及大小格式: 变量名 伪指令助记符 操作数, ;注释25符号地址符号地址定义变量类型定义变量类型定义变量值定义变量值及区域大小及区域大小1. 数据定义伪指令助记符DB 定义的变量为字节型DW 定义的变量为字类型(双字节)DD 定义的变量为双字型(4字节)DQ 定义的变量为4字型(8字节)DT 定义的变量为10字节型26数据定义伪指令例DATA1 DB 11H,22H,33H,44HDATA2 DW 11H,22H,3344HDATA3 DD 11H*2,22H,3

      5、3445566H27以上变量在内存中的以上变量在内存中的存放形式存放形式数据定义伪指令例_变量在内存中的变量在内存中的分布分布28DATA111223344DATA2224411000033DATA32200220000XX66554433数据定义伪指令的几点说明伪指令的性质决定所定义变量的类型;定义字符串必须用DB伪指令例: DATA1 DB ABCD,66H29ABCD41H42H43H44H66H2. 重复操作符作用:为一个数据区的各单元设置相同的初值目的:常用于声明一个数据区格式: 变量名 伪指令助记符 n DUP(初值,)例: BW 20 DUP(0)M1 DB 10 DUP(0)303. “?”的作用表示随机值,用于预留存储空间MEM1 DB 34H,A,? DW 20 DUP(?)31预留预留4040个字节单元,每单元为随机值个字节单元,每单元为随机值随机数随机数占占1个字节单元个字节单元数据定义伪指令例M1 DB How are you?M2 DW 3 DUP(11H),3344H DB 4 DUP(?)M3 DB 3 DUP(22H,11H,?)32变量在内存中的分区

      6、变量在内存中的分区数据定义伪指令例33M1How aM211H11H00H44H33H r e you?11H00H00H随机数随机数M311H22H11H22H11H22HXXXXXXXXXXXXXX二、符号定义伪指令格式: 符号名 EQU表达式操作: 用符号名取代后边的表达式,不可重新定义例: CONSTANTEQU100 VAR EQU 30H+99H34EQU说明的表达式不占用内存空间说明的表达式不占用内存空间三、段定义伪指令说明逻辑段的起始和结束;说明不同程序模块中同类逻辑段之间的联系形 态35段定义伪指令格式段名 SEGMENT 定位类型 组合类型 类别 段名 ENDS36说明逻辑段的说明逻辑段的起点起点说明不同模块中同名段的组说明不同模块中同名段的组和连接方式和连接方式定位类型PARA: 段的起点从节边界开始 (16个字节为1节)BYTE: 段的起点从存储器任何地址开始WORD:段的起点从偶地址开始PAGE: 段的起点从页边界开始 (256个字节为1页)37组合类型与其它模块中的同名段在满足定位类型的前提 下具有的组合方式:NONE: 不组合PUBLIC: 依次连接(顺序

      7、由LINK程序确定)COMMON: 覆盖连接STACK: 堆栈段的依次连接AT 表达式:段定义在表达式值为段基的节边界MEMORY: 相应段在同名段的最高地址处。38类别不同模块连接时将相同类别的段放在连续的内存区域中39段定义伪指令例DATA SEGMENT MEM1 DB 11H,22H MEM2 DB Hello! MEM3 DW 2 DUP(?)DATA ENDS40变变量量在在逻逻辑辑段段中中的的位位置置就就代代表表了了它它的的偏偏移移地址地址表表示示变变量量所所在在逻逻辑辑段段的的段段地地址址表表示示变变量量的的类类型型四、设定段寄存器伪指令说明所定义逻辑段的性质格式: ASSUME 段寄存器名:段名,段寄存器名:段名,41五、结束伪指令表示源程序结束格式: END 标号42汇编语言源程序结构数据段名 SEGMENT 数据段名 ENDS附加段名 SEGMENT 附加段名 ENDS43堆栈段名堆栈段名 SEGMENT 堆栈段名堆栈段名 ENDS代码段名代码段名 SEGMENT 代码段名代码段名 ENDS END 一个完整源程序结构例DSEG SEGMENT DATA1 DB

      8、1,2, 3 DUP(?) DATA2 DW 1234HDSEG ENDSESEG SEGMENT DB 20 DUP(?)ESEG ENDSSSEG SEGMENT STACK STACK DB 200 DUP(?)SSEG ENDS44一个完整源程序结构例45 CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG, ES:ESEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX MOV AX,SSEG MOV SS,AX CSEG ENDS END START源程序源程序 代码代码段寄存器初始化段寄存器初始化将段地址送将段地址送相应的段寄存器相应的段寄存器六、过程定义伪指令用于定义一个过程体格式: 过程名 PROC NEAR / FAR RET 过程名 ENDP46P157例例过程入口的过程入口的符号地址符号地址过程定义及调用例定义延时子程序 DELAY PROC PUSH BX PUSH CX MOV BL,2NEXT: MOV CX,4167W10M: LOOP W10M DEC BL JNZ

      9、 NEXT POP CX POP BX RETDELAY ENDP47n调用延时子程序:调用延时子程序: nCALL DELAY 七、宏命令伪指令 源程序中由汇编程序识别的具有独 立功能的一段程序代码格式: 宏命令名 MACRO ENDM48宏体宏体宏宏八、其它伪指令 段内程序代码或变量的起始偏移地址格式: ORG 表达式例: ORG 2000H49计算值为计算值为非负常数非负常数ORG其它伪指令NAME-为目标程序设定一个名字格式: NAME 模块名TITLE-为程序清单指定打印标题格式: TITLE 标题名504.34.3 功能调用DOS 功能调用 BIOS功能调用51DOS 功能调用包含多个子功能的功能包;用软中断指令调用,中断类型码固定为21H;各子功能采用功能号来区分。52DOS 功能调用设备管理目目录录管理管理文件管理文件管理其它其它53DOS 功能调用调用格式: MOV AH,功能号 INT 21H54一、单字符输入调用方法: MOV AH,01 INT 21H输入的字符在AL中55单字符输入例GET_KEY: MOVAH,1 INT21H CMPAL,Y JZ YES

      10、CMPAL,N JZ NO JMPGET_KEY YES: NO: 56交互式应交互式应 答程序答程序二、字符串输入注意问题:调用格式字符输入缓冲区的定义571. 调用格式58 功能号功能号OAH 字符串在内存中的存放地址字符串在内存中的存放地址nINT 21Hn AHn DS:DX2. 定义字符缓冲区用户自定义缓冲区格式:590 0DHN1N2整个缓冲区整个缓冲区最大可键入字符数最大可键入字符数实际键入字符数实际键入字符数存放键入的字符存放键入的字符存放字符个数:存放字符个数:255输入字符串程序段 DAT1 DB 20,?,20 DUP(?) LEA DX,DAT1 MOV AH,0AH INT 21H60在数据段在数据段中定义中定义输入缓冲区6114H ?2020个字节个字节定义后的输入缓冲区初始定义后的输入缓冲区初始状态:状态:三、单字符显示输出 功能号O2H 待输出字符INT 21H62n AHn DL单字符显示输出例MOVAH,02MOVDL,41HINT 21H63执行结果:执行结果:屏幕显示屏幕显示A四、字符串输出显示64 功能号功能号O9H 待输出字符串的偏移地址待输

      《山东大学微机原理与应用课件04汇编语言程序设计》由会员东***分享,可在线阅读,更多相关《山东大学微机原理与应用课件04汇编语言程序设计》请在金锄头文库上搜索。

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