最新微型计算机原理及应用47PPT课件.ppt
《最新微型计算机原理及应用47PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微型计算机原理及应用47PPT课件.ppt(129页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算机原理及应用微型计算机原理及应用4747微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计24.1 4.1 汇编语言的格式汇编语言的格式4.2 4.2 语句行的构成语句行的构成4.3 4.3 指示性语句指示性语句4.4 4.4 指令语句指令语句4.5 4.5 汇编语言程式设计及举例汇编语言程式设计及举例第第 4 4 章章 汇编语言程序设计汇编语言程序设计微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计3微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计4微型计算机原理及应
2、用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计5微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计6微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计7微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计8微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计94.2.1 4.2.1 标记标记 1.IBM1.IBM宏汇编的字符集宏汇编的字符集 IBMIBM宏汇编中所使用的字符集仅是宏汇编中所使用的字符集仅是ASCIIASCII
3、和和EBCDIC(EBCDIC(扩展扩展的的BCDBCD码码)字符集的一个子集。它由以下几部分组成:字符集的一个子集。它由以下几部分组成:(1)(1)字母字母包含大写的英文字母:包含大写的英文字母:ABCDXYZ ABCDXYZ;小写的英文字母:小写的英文字母:abcxyz abcxyz。(2)(2)数字数字阿拉伯数字:阿拉伯数字:0123456789 0123456789。(3)(3)特殊字符特殊字符可打印字符如图可打印字符如图4-14-1中所示。中所示。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计10微型计算机原理及应用微型计算机原理及应用第第4
4、 4章章 汇编语言程序设计汇编语言程序设计11非打印字符有:非打印字符有:空格、制表符空格、制表符(TAB(TAB键键)、回车和换行。、回车和换行。若在源程序中包含任何不属于上列字符集中的字符,则若在源程序中包含任何不属于上列字符集中的字符,则汇编程序就把它们作为空格处理。虽然字符汇编程序就把它们作为空格处理。虽然字符“&”“&”是字符集是字符集中的一个字符,但紧跟在回车换行之后的符号中的一个字符,但紧跟在回车换行之后的符号“&”“&”是代表是代表一个连续行,所以,汇编程序也把它当做空格处理。一个连续行,所以,汇编程序也把它当做空格处理。2.2.界符界符(Delimiters)(Delimit
5、ers)界符是一些特殊字符,利用它们可以表明某个标记的结界符是一些特殊字符,利用它们可以表明某个标记的结束,它们本身也有一定的意义,这一点就与分隔符束,它们本身也有一定的意义,这一点就与分隔符(空格空格)不不同。例子中的冒号同。例子中的冒号(:)、逗号、逗号(,)都是一种界符。都是一种界符。IBMIBM宏汇宏汇编中的界符集如图编中的界符集如图4-24-2所示。所示。IBMIBM宏汇编中的界符集语句中有了界符就可以不再用分宏汇编中的界符集语句中有了界符就可以不再用分隔符,但为了程序更清晰可读,有时仍用分隔符。隔符,但为了程序更清晰可读,有时仍用分隔符。微型计算机原理及应用微型计算机原理及应用第第
6、4 4章章 汇编语言程序设计汇编语言程序设计123.3.常量常量(Constants)(Constants)凡是出现在凡是出现在80868086源程序中的固定值源程序中的固定值(它在程序运行期间它在程序运行期间不会变化不会变化),就称为常量。例子中的数,就称为常量。例子中的数0 0、3 3、100100等都是常量,等都是常量,而且是数字常量。而且是数字常量。IBMIBM宏汇编中允许的常量为:宏汇编中允许的常量为:(1)(1)数字数字(整数整数)常量常量 二进制常量二进制常量以字母以字母B B结尾的由一串结尾的由一串“0”“0”和和“1”“1”组成的序列。例如,组成的序列。例如,00101100
7、B00101100B。十进制常量十进制常量由若干个由若干个0 09 9的数字组成的序列,可以以字母的数字组成的序列,可以以字母D D作结尾,作结尾,或没有任何字母作结尾。例如,或没有任何字母作结尾。例如,1234D1234D或或12341234。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计13八进制常量八进制常量以字母以字母Q(Q(或字母或字母O)O)结尾,由若干个结尾,由若干个0 07 7的数字组成的序的数字组成的序列。例如列。例如255Q255Q,377Q377Q等。等。十六进制常量十六进制常量以字母以字母H H结尾,由若干个结尾,由若干个0 0
8、9 9的数字或的数字或A AF F的字母所组的字母所组成的序列。成的序列。为了避免与标识符相混淆,十六进制数在语句中必须以为了避免与标识符相混淆,十六进制数在语句中必须以数字打头。所以,凡是以字母数字打头。所以,凡是以字母A AF F开始的十六进制数,必须开始的十六进制数,必须在前面加上数字在前面加上数字0 0。例如。例如56H56H,0BA3FH0BA3FH等。等。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计14(2)(2)字符串常量字符串常量字符串常量是由包含在单引号内的字符串常量是由包含在单引号内的1 1至至2 2个个ASCIIASCII字符构
9、字符构成的。汇编程序把它们表示成一个字节序列,一个字节对应成的。汇编程序把它们表示成一个字节序列,一个字节对应一个字符,把引号中的字符翻译成它的一个字符,把引号中的字符翻译成它的ASCIIASCII码值。例如字码值。例如字符符“A”“A”等价于等价于 41H 41H,字符,字符“AB”“AB”等价于等价于4142H4142H。在可以使用。在可以使用单字节立即数的地方,就可以使用单个字符组成的字符串常单字节立即数的地方,就可以使用单个字符组成的字符串常量;在可以使用字立即数的地方,就可以使用两个字符组成量;在可以使用字立即数的地方,就可以使用两个字符组成的字符串常量。的字符串常量。只有在初始化存
10、储器时才可以使用多于两个字符的字符只有在初始化存储器时才可以使用多于两个字符的字符串常量。串常量。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计154.4.标识符标识符(Identifiers)(Identifiers)标识符是由程序员自由建立起来的、有特定意义的字符标识符是由程序员自由建立起来的、有特定意义的字符序列,如例子中的序列,如例子中的SUMSUM、CYCLECYCLE和和PORT_VALPORT_VAL等等。等等。一个标识符是由最多为一个标识符是由最多为3131个字母、数字及规定的特殊字个字母、数字及规定的特殊字符符(?_(?_)等组成的,
11、而且不能用数字打头等组成的,而且不能用数字打头(以免与十六以免与十六进制数相混淆进制数相混淆)。5.5.保留字保留字(Reserved words)(Reserved words)保留字看上去像标识符,但是它们在语言中有特殊的意保留字看上去像标识符,但是它们在语言中有特殊的意义,而且不能用它们作为标识符。如例子中的义,而且不能用它们作为标识符。如例子中的SEGMENTSEGMENT、MOVMOV、EQUEQU、ALAL等都是保留字。实际上凡是等都是保留字。实际上凡是80868086的指令助记符,汇的指令助记符,汇编语言中的命令编语言中的命令(伪指令伪指令),寄存器名等都是保留字。,寄存器名等都
12、是保留字。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计166.6.注释注释(Comment)(Comment)为了使汇编语言的源程序更便于阅读和理解,常在源程为了使汇编语言的源程序更便于阅读和理解,常在源程序中加上注释。注释是在分号序中加上注释。注释是在分号(;)后面的任意的字符序列,后面的任意的字符序列,直到行的结尾。在汇编时,汇编程序对它们并不进行处理。直到行的结尾。在汇编时,汇编程序对它们并不进行处理。在可打印的文件中,注释和源程序一起打印。在可打印的文件中,注释和源程序一起打印。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言
13、程序设计汇编语言程序设计174.2.2 4.2.2 符号符号在汇编语言源程序中,为了使程序更具有普遍性,也便在汇编语言源程序中,为了使程序更具有普遍性,也便于程序的修改,用户常用符号等代替存储单元、数据、表达于程序的修改,用户常用符号等代替存储单元、数据、表达式等等,如例中的存储单元式等等,如例中的存储单元SUMSUM、输入输出端口、输入输出端口PROT_VALPROT_VAL等等就是。符号就是。符号(Symbol)(Symbol)是一种标识符,它要符合标识符的组成是一种标识符,它要符合标识符的组成规则。规则。在实际使用中的符号可以分成五类,即寄存器、变量、在实际使用中的符号可以分成五类,即寄
14、存器、变量、标号、数、其他。标号、数、其他。每个符号都具有一定的属性,以允许汇编程序使用它来每个符号都具有一定的属性,以允许汇编程序使用它来代表所需的信息。代表所需的信息。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计181.1.寄存器寄存器(Registers)(Registers)80868086的寄存器常在操作数场出现,代表某一个操作数。的寄存器常在操作数场出现,代表某一个操作数。每个寄存器都有一种类型特性,由这些类型可以确定它是一每个寄存器都有一种类型特性,由这些类型可以确定它是一个字节寄存器还是一个字寄存器。个字节寄存器还是一个字寄存器。80
15、868086的标志位被看作是一的标志位被看作是一位寄存器。位寄存器。2.2.变量变量(Variable)(Variable)存放在存储单元中的操作数是变量,因为它们的值是可存放在存储单元中的操作数是变量,因为它们的值是可以改变的。在程序中出现的是存储单元地址的符号,即它们以改变的。在程序中出现的是存储单元地址的符号,即它们的名称。的名称。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计19所有的变量都具有三种属性:所有的变量都具有三种属性:(1)(1)段值段值(SEGMENT)(SEGMENT),即变量单元所在段的段地址,即变量单元所在段的段地址(段的段
16、的起始地址起始地址)的高的高1616位,低位,低4 4位始终为位始终为0;0;(2)(2)偏移量偏移量(OFFSET)(OFFSET),即变量单元地址与段的起始地址,即变量单元地址与段的起始地址之间的偏移量之间的偏移量(16(16位位););(3)(3)类型类型(TYPE)(TYPE),变量有三种类型:,变量有三种类型:字节字节(BYTE)(BYTE)、字、字(WORD)(WORD)和双字和双字(DOUBLE WORD)(DOUBLE WORD)。变量通常是用存储器初始化命令定义的。变量通常是用存储器初始化命令定义的。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编
17、语言程序设计203.3.标号标号(Label)(Label)标号是某条指令所存放单元的符号地址,它是转移标号是某条指令所存放单元的符号地址,它是转移(条条件转移或无条件转移件转移或无条件转移)指令或调用指令或调用(CALL)(CALL)指令的目标操作数。指令的目标操作数。对于汇编程序来说,标号与变量是类似的,都是存储单对于汇编程序来说,标号与变量是类似的,都是存储单元的符号地址。只是标号对应的存储单元中存放的是指令;元的符号地址。只是标号对应的存储单元中存放的是指令;而变量所对应的存储单元中存放的是数据。所以,标号也有而变量所对应的存储单元中存放的是数据。所以,标号也有三种属性:三种属性:(1
18、)(1)段值,段值,(2)(2)偏移量,偏移量,(3)(3)类型。类型。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计21标号的类型与变量不同,它的类型是标号的类型与变量不同,它的类型是NEARNEAR或是或是FARFAR。NEARNEAR是指转移到此标号所指的语句,或调用此子程序或是指转移到此标号所指的语句,或调用此子程序或过程,只需要改变过程,只需要改变IPIP值,而不改变值,而不改变CSCS值。也即转移指令或调值。也即转移指令或调用指令与此标号所指的语句或过程在同一段内。用指令与此标号所指的语句或过程在同一段内。FARFAR与与NEARNEAR不
19、同,要转移到标号所指的语句,或调用此不同,要转移到标号所指的语句,或调用此子程序或过程,不仅需要改变子程序或过程,不仅需要改变IPIP的值,而且需要改变的值,而且需要改变CSCS,即,即是段交叉转移或调用。是段交叉转移或调用。若没有对标号进行类型说明,就假定它为若没有对标号进行类型说明,就假定它为NEARNEAR。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计224.4.数数在汇编语言源程序中的常数也常以符号的形式出现,这在汇编语言源程序中的常数也常以符号的形式出现,这样就更具有通用性,更便于修改。样就更具有通用性,更便于修改。如上例中的就是把端口地址
20、如上例中的就是把端口地址3 3定义为一个符号定义为一个符号PORT_VALPORT_VAL。5.5.其他符号其他符号除了上述除了上述4 4种符号以外,在汇编语言中还经常出现一些种符号以外,在汇编语言中还经常出现一些其他符号,把它们用作汇编程序中的伪指令名字。其他符号,把它们用作汇编程序中的伪指令名字。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计234.2.3 4.2.3 表达式表达式 表达式表达式(Expressions)(Expressions)是由上面讨论过的标记是由上面讨论过的标记(Token)(Token)、符号符号(Symbol)(Symb
21、ol)通过运算符组合起来的。粗略地说,一个表达通过运算符组合起来的。粗略地说,一个表达式是一个由操作数和运算符组合的序列,在汇编时它能产生式是一个由操作数和运算符组合的序列,在汇编时它能产生一个值。一个值。1.1.操作数操作数(Operands)(Operands)一个操作数可以是一个寄存器名、一个常量一个操作数可以是一个寄存器名、一个常量(数字常量数字常量或字符串常量或字符串常量)或一个存储器操作数。或一个存储器操作数。(1)(1)常量操作数常量操作数具有数字值的操作数是常量或是表示常量的标识符具有数字值的操作数是常量或是表示常量的标识符(符符号号)。微型计算机原理及应用微型计算机原理及应用
22、第第4 4章章 汇编语言程序设计汇编语言程序设计24(2)(2)存储器操作数存储器操作数存储器操作数,通常是标识符,可以分成标号存储器操作数,通常是标识符,可以分成标号(Label)(Label)和变量和变量(Variable)(Variable)两种。两种。标号是可执行的指令语句的符号地址,通常是作为转移标号是可执行的指令语句的符号地址,通常是作为转移指令指令JMPJMP和调用指令和调用指令CALLCALL的目标操作数。的目标操作数。变量通常是指存放在一些存储单元中的值,这些值在程变量通常是指存放在一些存储单元中的值,这些值在程序运行过程中是可变的。序运行过程中是可变的。微型计算机原理及应用
23、微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计25变量可以具有以下几种寻址方式:变量可以具有以下几种寻址方式:直接寻址直接寻址1616位地址偏移量包含在指令中;位地址偏移量包含在指令中;基址寻址由一个基址寄存器基址寻址由一个基址寄存器(BX(BX或或BP)BP)的内容,加上的内容,加上一个在指令中指定的一个在指令中指定的8 8位或位或1616位位移量,决定变量的地址;位位移量,决定变量的地址;变址寻址由一个变址寄存器变址寻址由一个变址寄存器(SI(SI或或DI)DI)的内容,加上的内容,加上一个在指令中指定的一个在指令中指定的8 8位或位或1616位位移量,决定变量的地址
24、;位位移量,决定变量的地址;基址变址寻址由一个基址寄存器基址变址寻址由一个基址寄存器(BX(BX或或BP)BP)的内容,的内容,加上一个变址寄存器加上一个变址寄存器(SI(SI或或DI)DI)的内容,再加上一个在指令中的内容,再加上一个在指令中指定的指定的8 8位或位或1616位位移量,决定变量的地址。位位移量,决定变量的地址。作为存储器操作数的标号和变量都有三种属性:作为存储器操作数的标号和变量都有三种属性:段值、段值、段内地址偏移量、类型。段内地址偏移量、类型。微型计算机原理及应用微型计算机原理及应用第第4 4章章 汇编语言程序设计汇编语言程序设计26一个运算符取一个或多个操作数的值,以形
25、成一个新值。一个运算符取一个或多个操作数的值,以形成一个新值。在在IBMIBM宏汇编中有五种运算符。宏汇编中有五种运算符。2.2.运算符运算符(Operators)(Operators)IBMIBM宏汇编通常有以下几种运算符:宏汇编通常有以下几种运算符:算术运算符算术运算符(Arithmetic Operators)(Arithmetic Operators);逻辑运算符逻辑运算符(Logical Operators)(Logical Operators);关系运算符关系运算符(Relational Operators)(Relational Operators);分析运算符分析运算符(Ana
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微型计算机 原理 应用 47 PPT 课件
限制150内