电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:277280112       资源大小:332.07KB        全文页数:70页
  • 资源格式: PPT        下载积分:5金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要5金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

第第4 4章章汇编语言程序设计汇编语言程序设计1主要内容汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计24.14.1 汇编语言源程序了解:汇编语言源程序的结构汇编语言语句类型及格式3一、汇编语言源程序结构一、汇编语言源程序结构41. 汇编语言源程序与汇编程序汇编语言源程序汇编程序5用助记符编写用助记符编写汇编程序汇编程序汇编语言源程汇编语言源程序序机器语言目标机器语言目标程序程序源程序的编译程序源程序的编译程序2. 汇编语言程序设计与执行过程输入汇编语言源程序(EDIT)汇编(MASM)链接(LINK)调试(TD)6源文件源文件 . . ASM目标文件目标文件 . .OBJ可执行文件可执行文件. .EXE最终程序最终程序二、汇编语言语句类型及二、汇编语言语句类型及格式格式71. 汇编语言语句类型指令性语句指示性语句8CPU执行的语句,能够生成执行的语句,能够生成目标代码目标代码CPU不执行,而由汇编程序执行不执行,而由汇编程序执行的语句,不生成目标代码的语句,不生成目标代码2. 汇编语言语句格式 指令性语句: 标号: 前缀 助记符 操作数,操作数 ;注释9指令的符号地址指令的符号地址标号后要有冒号标号后要有冒号操作码操作码注释前加分号注释前加分号指示性语句格式名字 伪指令助记符 操作数 ,操作数, ;注释10变量的符号地址变量的符号地址其后不加冒号其后不加冒号指示性语句中至指示性语句中至少有一个操作数少有一个操作数3. 标号、名字标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。 114. 操作数寄存器存储器单元常量变量或标号表达式12常 量数字常量字符串常量例:A MOV AL,A例:ABCD13汇编时被译成对应的汇编时被译成对应的ASCII码码41414141H H H H,42424242H H H H,43H43H43H43H,44H44H44H44H用单引号引起的字符或字符串用单引号引起的字符或字符串变 量代表内存中的数据区,程序中视为存储器操作数变量的属性: 变量所在段的段地址 变量单元地址与段首地址之 间的位移量。 字节型、字型和双字型14段段 值值偏移量偏移量类类 型型表达式算术运算逻辑运算*关系运算取值运算和属性运算其它运算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 运算符:运算符: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,33445566H27以上变量在内存中的以上变量在内存中的存放形式存放形式数据定义伪指令例_变量在内存中的变量在内存中的分布分布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变量在内存中的分区变量在内存中的分区数据定义伪指令例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: 依次连接(顺序由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 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 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 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汇编语言程序设计)为本站会员(东***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.