- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与汇编语言实用教程汇编语言基础
第4章 汇编语言基础 4.1 MASM汇编语言基础 4.1.1 汇编语言的基本概念 汇编语言是一种符号语言,它用指令的助记符、符号地址、标号等各种符号来书写程序。用汇编语言编写的程序称为汇编语言源程序。将源程序翻译成的机器语言程序称为目标程序。将汇编语言的源程序翻译成目标程序的过程称为汇编过程或简称汇编。与汇编程序功能相反的程序则称为反汇编程序,反汇编程序用各种符号的形式将存储器中某一片区域中的机器代码或数据显示出来,它是一种重要的工具程序。。 4.1.2 MASM汇编语言 绝大多数汇编程序都有宏处理功能,即提供了用宏汇编语言进行程序设计的环境。 宏汇编语言不仅包含一般汇编语言功能,而且还采用了高级语言使用的数据结构,提供了记录、结构和字符串操作,提供宏指令、条件汇编、重复汇编、组建宏库等宏处理能力及DOS功能调用等多种功能。 4.1.3 汇编语言语句格式 汇编语言源程序是由一条条语句组成的。语句则由名称、操作助记符、操作数、注释四部分组成。 例4.1 SUM: ADD AX,05 ;(AX)←(AX)+05 ARRAY DB 30H,40H,50H,60H 1.名称 语句中的名称是一个标识符,最多包含31个字符,可由字母(a~z、A~Z)、数字(0、1、…、9)及特殊符号(?、? 、@ 、-、$)组成。名称必须由字母开头,若名称中有圆点符,则圆点符必须用作第一个字符,数字不能用作第一个字符。 2.操作助记符(或称助记符) 操作助记符将指出该语句的基本操作功能。它是语句的必要部分,也就是说每条语句都必须有操作助记符。操作助记符是汇编语言中规定了明确含义的一组符号,所以不能随意使用。例如上面例子中的ADD是加法指令的助记符,DB则是定义字节变量的伪指令助记符。 3.操作数 语句中的操作数部分,可以是数据本身,也可以是指出如何获得操作数的信息。前者是一个常数,也可以是代表常数的一个标识符或表达式,后者通常是以某种寻址方式给出的存放操作的地址。如上例中的第一条指令语句中的第一个操作数部分,它指出该操作数存放在AX中,而第二个操作数部分则为参加运算的操作数本身。 4.注释 注释仅用作语句或程序段的说明,它不是程序的可执行部分,汇编时不形成任何目标码。注释必须以分号“;”开头。它可以作为语句的一个部分,也可以作为一个单独的语句。 4.1.4 语句类别 汇编语言有3种语句类型:指令语句、伪指令语句和宏指令语句。 指令语句是可执行语句,在汇编时产生可供机器执行的二进制代码。 例4.2 MOV BX,1 DEC AX 伪指令语句是不可执行语句,在汇编时不产生目标代码,汇编程序主要利用它分配存储单元和定义程序段等。 例4.3 SUV DW ? 汇编程序在汇编时为变量SUV分配2B的存储单元。 宏指令略。 4.2.2 寄存器寻址 寄存器寻址(Register Addressing)指的是指令中所需的操作数是CPU的某个寄存器。由于存取这类操作数完全在CPU内部进行,不需要动用总线,访问内存,所以执行速度比较快。 例4.6 下列指令使用寄存器寻址方式。 MOV AX,BX ;源和目的操作数都是寄存器 MOV AX,1234H ;目的操作数是寄存器寻址方式 ADD X,AX ;源操作数是寄存器寻址方式 PUSH DS ;源操作数是寄存器寻址方式 4.2.3 存储器寻址 存储器寻址(Memory Addressing)指的是指令中所需的操作数在存储单元中,而存储单元的偏移地址直接在指令中指出,因此也叫直接寻址(Direct Addressing)。 例4.8 MOV AX,[2000H] ;源操作数为存储器寻址(直接寻址)方式 表达一个内存单元的逻辑地址是“段地址:偏移地址”形式。其中段地址位于某个段寄存器中。例如,如果没有段超越,则一般的取操作数都是相对于数据段DS的,所以DS可以省略,不必指定。偏移地址则指定了相对于段基地址之间的距离。在指令执行时,CPU的执行单元EU要使用偏移量(也称为有效地址EA)来通过地址总线获取操作数。对直接寻址的指令来说,此偏移值会直接跟在指令机器码中操作码字节和寻址方式字节之后。 4.3.1 数据传送类指令 1.数据通路与类型匹配 数据传送类指令的作用,就是在内存、通用寄存器、段寄存器、立即数之间“传来传去”。这其中MOV指令(MOVE)是最典型的代表。在传送指令的源操作数和目的操作数之间,传什么,如何传,既要根据程序的需
您可能关注的文档
最近下载
- 降钙素原抗体产品技术要求标准2024年.pdf VIP
- 2013-2022同等学历申硕学位英语真题(含答案).pdf VIP
- 2023年全国职业院校技能大赛食品安全与质量检测题库1-10.docx VIP
- 内部培训刑法知识考试题库大全及答案下载.pdf VIP
- 2025至2030全球及中国车载摄像头模块组件行业项目调研及市场前景预测评估报告.docx
- 2023-2024学年安徽省合肥重点中学九年级(上)第一次月考道德与法治试卷.pdf VIP
- 人教版(2024新版)九年级上册化学全册教案教学设计.docx
- 中国油田分布明细-含分布图.docx VIP
- 6.4 酵母菌子囊孢子的观察(原理讲解).pdf VIP
- AIGC技术在非物质文化遗产设计保护中的应用探索 .pdf VIP
文档评论(0)