微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt

微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt

ID:51497105

大小:387.50 KB

页数:49页

时间:2020-03-25

微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt_第1页
微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt_第2页
微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt_第3页
微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt_第4页
微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt_第5页
资源描述:

《微机原理与汇编语言实用教程_第4章_汇编语言基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章 汇编语言基础第四章汇编语言基础4.1.1汇编语言的基本概念汇编语言是一种符号语言,它用指令的助记符、符号地址、标号等各种符号来书写程序。用汇编语言编写的程序称为汇编语言源程序。将源程序翻译成的机器语言程序称为目标程序。将汇编语言的源程序翻译成目标程序的过程称为汇编过程或简称汇编。与汇编程序功能相反的程序则称为反汇编程序,反汇编程序用各种符号的形式将存储器中某一片区域中的机器代码或数据显示出来,它是一种重要的工具程序。。4.1MASM汇编语言基础4.1.2MASM汇编语言绝大多数汇编程序都有宏

2、处理功能,即提供了用宏汇编语言进行程序设计的环境。宏汇编语言不仅包含一般汇编语言功能,而且还采用了高级语言使用的数据结构,提供了记录、结构和字符串操作,提供宏指令、条件汇编、重复汇编、组建宏库等宏处理能力及DOS功能调用等多种功能。4.1.3汇编语言语句格式汇编语言源程序是由一条条语句组成的。语句则由名称、操作助记符、操作数、注释四部分组成。例4.1SUM:ADDAX,05;(AX)←(AX)+05ARRAYDB30H,40H,50H,60H1.名称语句中的名称是一个标识符,最多包含31个字符,可由

3、字母(a~z、A~Z)、数字(0、1、…、9)及特殊符号(?、•、@、-、$)组成。名称必须由字母开头,若名称中有圆点符,则圆点符必须用作第一个字符,数字不能用作第一个字符。2.操作助记符(或称助记符)操作助记符将指出该语句的基本操作功能。它是语句的必要部分,也就是说每条语句都必须有操作助记符。操作助记符是汇编语言中规定了明确含义的一组符号,所以不能随意使用。例如上面例子中的ADD是加法指令的助记符,DB则是定义字节变量的伪指令助记符。3.操作数语句中的操作数部分,可以是数据本身,也可以是指出如何获

4、得操作数的信息。前者是一个常数,也可以是代表常数的一个标识符或表达式,后者通常是以某种寻址方式给出的存放操作的地址。如上例中的第一条指令语句中的第一个操作数部分,它指出该操作数存放在AX中,而第二个操作数部分则为参加运算的操作数本身。4.注释注释仅用作语句或程序段的说明,它不是程序的可执行部分,汇编时不形成任何目标码。注释必须以分号“;”开头。它可以作为语句的一个部分,也可以作为一个单独的语句。4.1.4语句类别汇编语言有3种语句类型:指令语句、伪指令语句和宏指令语句。指令语句是可执行语句,在汇编时

5、产生可供机器执行的二进制代码。例4.2MOVBX,1DECAX伪指令语句是不可执行语句,在汇编时不产生目标代码,汇编程序主要利用它分配存储单元和定义程序段等。例4.3SUVDW?汇编程序在汇编时为变量SUV分配2B的存储单元。宏指令略。4.2 操作数的寻址方式4.2.1立即寻址立即寻址(ImmediateAddressing)指的是指令所需操作数直接包含在指令代码中,它通常是一个常量或常数,我们称它为立即数。立即数可以是8位的,也可以是16位的,这要看与它对应的另一个操作数的类型,二者必须匹配。立即

6、寻址方式常用来为寄存器赋初值,它只能出现在源操作数的位置,不能出现在目的操作数位置。目的操作数可以是寄存器或内存操作数。例4.4下列指令的源操作数都是立即寻址。VALUEEQU768MOVAL,08H;执行后AL=08HMOVAL,00001000B;执行后AL=08HMOVAX,768;执行后AX=0300HMOVAX,VALUE;执行后AX=0300H,VALUE是常量4.2.2寄存器寻址寄存器寻址(RegisterAddressing)指的是指令中所需的操作数是CPU的某个寄存器。由于存取这类

7、操作数完全在CPU内部进行,不需要动用总线,访问内存,所以执行速度比较快。例4.6下列指令使用寄存器寻址方式。MOVAX,BX;源和目的操作数都是寄存器MOVAX,1234H;目的操作数是寄存器寻址方式ADDX,AX;源操作数是寄存器寻址方式PUSHDS;源操作数是寄存器寻址方式4.2.3存储器寻址存储器寻址(MemoryAddressing)指的是指令中所需的操作数在存储单元中,而存储单元的偏移地址直接在指令中指出,因此也叫直接寻址(DirectAddressing)。例4.8MOVAX,[200

8、0H];源操作数为存储器寻址(直接寻址)方式表达一个内存单元的逻辑地址是“段地址:偏移地址”形式。其中段地址位于某个段寄存器中。例如,如果没有段超越,则一般的取操作数都是相对于数据段DS的,所以DS可以省略,不必指定。偏移地址则指定了相对于段基地址之间的距离。在指令执行时,CPU的执行单元EU要使用偏移量(也称为有效地址EA)来通过地址总线获取操作数。对直接寻址的指令来说,此偏移值会直接跟在指令机器码中操作码字节和寻址方式字节之后。4.3.1数据传送类指令1.数据通路

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。