网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理及接口技术课件作者吴叶兰第四章节汇编语言程序设计.ppt

微机原理及接口技术课件作者吴叶兰第四章节汇编语言程序设计.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计 教学内容 汇编程序的基本知识 汇编程序的伪指令 DOS系统功能调用 汇编语言程序的上机过程 汇编程序设计 4.1 汇编程序的基本知识 汇编语言程序的汇编过程 汇编语言语句格式 【例4-1】 先给出一个完整的汇编语言源程序,该程序的功能是完成两个字节数据相加。 DATA SEGMENT ;段定义开始(DATA段) BUF1 DB 34H ;第1个加数 BUF2 DB 2AH ;第2个加数 SUM DB ? ;准备用来存放和数的单元 DATA ENDS ;段定义结束(DATA段) CODE SEGMENT ;段定义开始(CODE段) ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;给数据段寄存器DS赋值 MOV AL,BUF1 ;取第1个加数 汇编语言语句格式 ADD AL,BUF2 ;和第2个加数相加 MOV SUM,AL ;存放结果 MOV AH,4CH ;赋功能号 INT 21H ;返回DOS状态 CODE ENDS ;段定义结束(CODE段) END START ;整个源程序结束 4.2 汇编程序的伪指令 伪操作又称为伪指令,它们不像机器指令那样是在程序运行期间由计算机来执行的,而是在汇编程序对源程序汇编期间由汇编程序处理的,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。 伪指令形式上与一般指令相似,但伪指令只是为汇编程序提供有关信息,不产生相应的机器代码。 1、符号定义伪指令 为常量或表达式赋符号名。 符号名 EQU 表达式 符号名 = 表达式:允许重复定义 符号名 LABEL 类型 PURGE 符号1,符号2,…,符号N:解除定义 LABEL 定义标号名称和属性, 它和下一条指令共享存储器单元。 格式: 名字 LABEL 类型 例如: BYTE-ARRAY LABEL BYTE WORD-ARRAY DW 100 DUP(?) MOV WORD-ARRAY, 0 ; 是把第一个字置为0。 MOV BYTE-ARRAY, 0 ; 是把第一个字节置为0。 2、数据定义伪指令 DB、 DW、 DD、 DQ、 DT。 这些伪指令可以把其后跟着的数据存入指定的存储单元,形成初始化数据,或者只分配存储空间而并不存入确定的数值,形成未初始化数据空间。 变量名 DB 表达式 ; 定义字节变量。 变量名 DW 表达式 ; 定义字变量。 变量名 DD 表达式 ; 定义双字变量。 变量名 DQ 表达式 ; 定义长字变量。 变量名 DT 表达式 ; 定义一个十字节变量。 3.段定义伪指令 格式: 段名 SEGMENT[定位类型][组合类型][分类名] … ;本段程序内容(指令语句或伪指令语句) 段名 ENDS 当用于定义数据段、附加数据段和堆栈段时,处于SEGMENT/ENDS伪指令中间的语句, 只能包括伪指令语句,不能包括指令语句。 一般情况下,这些说明可以不用。但是,如果需要用连接程序把本程序与其他程序模块相连接时,就需要使用这些说明。 4. ASSUME伪操作 只是指定某个段分配给哪一个段寄存器,它并不能把段地址装入段寄存器中,要把段地址装入段寄存器中,就必须在代码段中有对段地址装入相应的段寄存器中的指令。 5. 过程定义伪指令 可把具有独立功能的程序段定义为过程,供其他程序调用。 语法格式: 过程名 PROC NEAR/FAR? RET ? 过程名 ENDP 6. ORG伪操作 ORG伪操作用来设置当前地址计数器的值,其格式为 ORG CONSTANT / EXPRESSION 例如: VECTORS SEGMENT ORG 10 VECT1 DW 47A5H ORG 20 VECT2 DW 0C596H VECTORS ENDS 7. END 表示源程序结束的伪操作。 的格式为: END [LABEL] 标号(LABEL)指示程序开始执行的起始地址。如果多个程序模块相连接,则只有主程序要使用标号,其他子程序模块只用END而不必指定标号。 宏指令 宏指令:是源程序中具有独立功能的一段程序代码。 宏定义: 宏指令名 MACRO 〈形式参数

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档