微机原理 宋志平 第四章 课件.ppt_第1页
微机原理 宋志平 第四章 课件.ppt_第2页
微机原理 宋志平 第四章 课件.ppt_第3页
微机原理 宋志平 第四章 课件.ppt_第4页
微机原理 宋志平 第四章 课件.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章汇编语言程序设计 主要内容 几个基本概念汇编语言程序的组成元素MASM中的表达式常用伪指令功能调用汇编语言程序设计 几个概念 汇编语言汇编语言源程序汇编汇编程序 4 1汇编语言程序的组成元素 1 汇编语言语句类型 指示性语句 标号 名字 标号后有冒号 在指令性语句前 名字后不加冒号 在指示性语句前 英文字母 数字及专用字符组成 最大长度不能超过31个 且不能由数字打头 不能用保留字 如寄存器名 指令助记符 伪指令 2 汇编语言中的数据项 常数 确定的数据 无属性 变量 存放在存储单元中的值 有段值 偏移地址和类型三个属性 标号 可执行指令语句的地址的符号表示 有段值 偏移地址和类型 近 远 三个属性 4 2MASM中的表达式 汇编程序可以识别的能够在指令和为指令中出现的运算对象及运算符 1 算术运算和逻辑运算符 算术运算符 MOD逻辑运算符AND OR NOT XOR例 MOVAL 8AND4MOVAL 8 4 1 2 关系运算符 参与关系运算的必须是两个数值 关系不成立 结果为0 关系成立 结果为FFFFH EQNELTGTLEGE 3 数值返回运算符 取值运算符用于分析存储器操作数的属性 取值运算符例 MOVAX SEGDATAMOVDS AXMOVBX OFFSETDATALEABX DATA 等价于 取值运算符例 若BUFFER存储区是用如下伪指令定义 BUFFERDW200DUP 0 则 TYPEBUFFER等于2LENGTHBUFFER等于200SIZEBUFFER等于400 4 属性运算符 属性运算符PTR用于指定其后存储器操作数的类型例 MOVBYTEPTR BX 12H 5 其它运算符 等 6 运算符的优先级次序 4 3常用伪指令 由汇编程序执行的 指令系统 用于定义变量 分配存储区 定义逻辑段 指示程序开始和结束等 常用伪指令 1 数据定义伪指令 用于定义数据区中变量的类型格式 变量名伪指令助记符操作数 注释 某些情况下可省略 可选 数据定义伪指令助记符DB定义的变量为字节型DW定义的变量为字类型 双字节 DD定义的变量为双字型 4字节 DQ定义的变量为4字型 8字节 DT定义的变量为10字节型 数据定义伪指令例 DATA1DB11H 22H 33H 44HDATA2DW11H 22H 3344HDATA3DD11H 2 22H 33445566H 重复操作符 为一个数据区的各单元设置相同的初值格式 变量名 伪指令助记符nDUP 初值 例 DW20DUP 0 DB3DUP 22H 11H 随机数 用 预留存储空间 MEM1DB34H A DW20DUP 预留40个字节单元 2 符号定义伪指令 格式 符号名EQU表达式操作 用符号名取代后边的表达式 不可重新定义例 CONSTANTEQU100VAREQU30H 99H EQU说明的表达式不占用内存空间 3 段定义伪指令 段定义语句格式 段名SEGMENT 定位类型 组合类型 类别 段名ENDS只需要掌握段名SEGMENT 段名ENDS 段定义伪指令例 DATASEGMENTMEM1DB11H 22HDATAENDS 段分配语句 格式 ASSUME段寄存器名 段名 段寄存器名 段名 4 结束伪指令 格式 END 标号 5 过程定义伪指令 6 其它伪指令 ORG 段内程序代码或变量的起始偏移地址格式 ORG表达式例 ORG2000H 计算值为非负常数 4 4功能调用 DOS功能调用高级调用 操作系统提供BIOS功能调用低级调用 DOS系统功能调用 包含多个子功能的功能包 用软中断指令调用 中断类型码固定为21H 各子功能采用功能号来区分 DOS系统功能调用主要功能 DOS系统功能调用步骤 1 MOVAH 功能号 2 3 INT21H 1 从键盘输入单字符并显示 调用方法 MOVAH 01INT21H输入的字符在AL中 单字符输入例 GET KEY MOVAH 1INT21HCMPAL Y JZYESCMPAL N JZNOJNZGET KEYYES NO 交互式应答程序 2 从键盘输入字符串 AH功能号OAHDS DX字符串在内存中的存放地址INT21H 定义字符缓冲区 输入字符串程序段 DAT1DB20 20DUP LEADX DAT1MOVAH 0AHINT21H 在数据段中定义 输入缓冲区 14H 20个字节 定义后的输入缓冲区初始状态 3 单字符显示输出 单字符显示输出例 MOVAH 02MOVDL 41HINT21H 执行结果 屏幕显示A 4 字符串输出显示 字符串输出显示 被显示的字符串必须以 结束 且所显示的内容不应出现非可见的ASCII码 字符串输出显示例 DATASEGMENTMESS1DB InputString 0DH 0AH DATAENDSCODESEGMENT MOVAH 09MOVDX OFFSETMESS1INT21H 4 5汇编语言程序设计 设计步骤 根

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论