微机原理与接口技术4课件.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术4课件

第四章 汇编语言程序设计;; 汇编语言;;;接上页程序;4·1·2 语句类型及格式;4.1.3 操作数;1.常量; 2.标号-符号地址;标号有三种属性;3.变量;…;;表达式种类;⑶取值算术运算符;属性运算符PTR;⑸其他运算符;4.2 伪 指 令;数据定义伪指令的一般格式为: [变量名] 伪操作 操作数 [,操作数,…] 常用的数据定义伪操作有5种: DB(Define byte): 定义字节类型的变量 DW(Define word):定义字类型的变量 DD(Define double word):定义双字类型的变量 DQ(Define quad word):定义四字类型的变量 DT(Define ten bytes):定义十字节类型的变量 ;例如;EQU 用于给一个表达式赋予一个名字。 名字 EQU 表达式 表达式可以是一个常数、符号、数值表达式、 地址表达式或指令助记符。如: CR EQU 0DH VAR EQU TEN*2+1024 ADR EQU ES:[BP+DI+5] GOTO EQU JM ;“=”伪指令允许给符号赋一个常量或者结果是常量的表达式。 EQU 与 “=”的区别: EQU不允许对同一个符号重复定义。 “=”伪指令允许对一个符号重复定义。 如:VAR=10H ; VAR代表了数值10H VAR=25H ;VAR代表了数值为25H;段定义伪指令用来定义汇编语言程序中的逻辑段,其格式如下: 段名:SEGMENT : 段名:ENDS SEGMENT和ENDS成对出现,缺一不可。 段名必需相同,不能与指令助记符和伪指令重名。;4.2.4 设定段寄存器伪指令;例如;4.2.5过程定义伪指令;例:在一个子过程中又嵌套了一个过程;在程序中多次使用的程序段可以定义为宏指令。然后在需要时,通过宏指令名进行调用(宏调用),避免重复书写。 宏指令名 MACRO形式参数 [宏体] ENDM 宏指令名指出了宏的名称。同标识符的规定。 形参为可选项,每个参数之间用“,”隔开。 调用时用实际参数代替形式参数。;使用方法 宏程序在源程序中可以通过宏指令名进行调用。 子程序要通过CALL指令进行调用,RET返回。 占用内存 宏指令简化了源程序,但不能简化目标程序。汇编後,每个调用处都会宏展开,占用内存。 CALL指令产生相应的机器代码,节省内存。CALL执行过程,如现场保护、参数传递需要堆栈空间。 执行时间 CALL指令需要保护断点和恢复断点,宏不需要。 宏程序用空间换取了时间,子程序用时间换取了空间;宏调用和宏展开的使用;程序可以有多个模块组成,用NAME伪指令为模块命名, 用END结束源程序。 [标号] : : END [标号] END指示汇编程序停止汇编。后边的标号表示程序执行的开始地址。END伪指令将标号的段值和偏移地址分别提供给CS:IP寄存器。;DATA SEGMENT TABLE DB 12H,23H,34H,45H,56H, DB 67H,78H,89H,9AH,0FDH SUM DW ? DATA ENDS STACK SEGMENT DB 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK;接上页;4·3 DOS功能调用;所有的DOS功能调用都是通过指定功能号来调用 INT 21H的不同子功能。 操作如下: ⑴送入口参数给指定寄存器; ⑵子程序的功能号→AH; ⑶执行INT 21H指令; ⑷分析出口参数; 下面介绍INT 21H的几个最常用的功能: ;功能号1、7、8都可以接收键盘输入的单字符。 输入的字符以ASCII码形式放在AL中。 7、8号功能无回显,1号功能有回显。 [例4-8] 从键盘输入字符“Y”的程序段 MOV AH,1 ;有回显键盘输入,功能号1 → AL INT 21H ;接收一个键值→AL CMP AL, ‘Y’ ;比较键入的字符是否‘Y’ JE YES … YES:;键盘输入;2.显示字符串;接上页; 3.返回到DOS; 4.4汇编语言程序 设计基础;1·程序质量的评价标准; 汇编语言设计和其他高级语言设计一样可以分成以下几个步骤: 分析问题,确定算法,画出程序流程图。 编写源程序形成扩展名为ASM的源文件。 经过汇编生成扩展名为OBJ的目标代码文件。 经过链接生成扩展名为EXE的可执

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档