微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第04章 汇编语言程序设计.ppt

微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第04章 汇编语言程序设计.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计 本章主要内容 4.1 汇编语言程序设计概述 4.2 伪指令 4.3 汇编语言程序设计基本方法 4.4 中断调用 4.1 汇编语言程序设计概述 汇编语言(Assembly Language)是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数 利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序 汇编语言适合用于编写低层、直接控制硬件的程序;加解密、病毒防治等信息安全程序的编程分析 汇编语言程序设计的过程是与其他高级语言程序设计大致相同,用汇编语言编写的程序称为汇编语言程序或源程序(Source Program)。 汇编语言源程序不能直接在计算机上运行,需要将它翻译成机器语言程序(也称目标代码程序,Object Program)。这个翻译过程为汇编。 完成汇编任务的程序(软件)称为汇编程序。 4.2.2 变量(数据)定义伪指令 数据定义伪指令用来定义变量的类型,给存储器赋初值,给变量分配存储空间。源程序经汇编后,各个变量的数据即被存储在相应的内存单元中。 格式: [变量名] 数据定义伪指令 操作数[,操作数,…] 数据定义及存储器分配伪操作的操作数 数据定义及存储器分配伪操作的操作数 数据定义及存储器分配伪操作的操作数 3.? 可保留空单元,操作数为“?” 数据定义及存储器分配伪操作的操作数 4.? 操作数字段用复制操作符DUP 格式:REPEAT-COUNT DUP(OPERAND,.....,OPERAND) 数据定义及存储器分配伪操作的操作数 4.? 操作数字段用复制操作符DUP [例] ARRAY1 DB 2 DUP(0,?) ARRAY2 DB 100 DUP(?) ARRAY1的语句可等价于: ARRAY1 DB 0,?,0,? 4.2.6 汇编结束伪指令 2.地址计数器$ 在汇编程序对源程序汇编的过程中,使用地址计数器来保存当前正在汇编的指令或者数据的地址。地址计数器的值在汇编语言中可用$来表示。 当$用在指令中时,表示本条指令第一个字节的地址。 当$用在伪指令的参数字段时,表示地址计数器的当前值。 【例4.17】地址计数器$示例。 JNE $+6 ;转向JNE指令的首地址加上6($+6必须是另一条指令的首地址) ARRAY DW 1,2,$+4,3,4,$+4 ;两处$+4的值不同,这是由于$的值是不断变化的 顺序结构程序 【例4.18】两个16位无符号数1234H与5678H相加的程序。 DATA SEGMENT ;数据段定义 NUM1 DW 1234H NUM2 DW 5678H SUM DW ? DATA ENDS CODE SEGMENT ;代码段定义 ASSUME CS:CODE, DS:DATA BEGIN:MOV AX,DATA MOV DS,AX ;数据段段地址送入DS MOV AX,NUM1 ;取NUM1送AX ADD AX,NUM2 ;与NUM2相加,结果放在AX中 MOV SUM,AX ;和送至SUM字单元 MOV AH,4CH INT 21H ;程序结束,返回DOS系统 CODE ENDS END BEGIN ;结束汇编 【例4.19】 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,NUM TEST AX,1 JNZ NEXT MOV DUAL,AX JMP DONE NEXT: MOV ODD,AX DONE: MOV AH,4CH INT 21H CODE ENDS END START 分支结构:两分支,判断正负 在NUM字节单元中有一个有符号数,判断其正负,如果为负数,则把“-”存入DL中,否则把“+”存入DL中

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档