汇编语言教程课件

上传人:仙*** 文档编号:241540388 上传时间:2024-07-03 格式:PPT 页数:43 大小:2.91MB
返回 下载 相关 举报
汇编语言教程课件_第1页
第1页 / 共43页
汇编语言教程课件_第2页
第2页 / 共43页
汇编语言教程课件_第3页
第3页 / 共43页
点击查看更多>>
资源描述
v汇编语言汇编语言第第 5 章章vv5.1 80865.1 80865.1 80865.1 8086汇编语言基础汇编语言基础汇编语言基础汇编语言基础 vv 5.1.1 5.1.1 5.1.1 5.1.1 汇编语言基本汇编语言基本汇编语言基本汇编语言基本语法语法语法语法 vv 5.1.2 5.1.2 5.1.2 5.1.2 汇编语言语句汇编语言语句汇编语言语句汇编语言语句vv 5.1.3 5.1.3 5.1.3 5.1.3 伪指令语句伪指令语句伪指令语句伪指令语句vv 5.1.4 5.1.4 5.1.4 5.1.4 宏指令语句宏指令语句宏指令语句宏指令语句 vv5.2 5.2 5.2 5.2 汇编语言程序设计汇编语言程序设计汇编语言程序设计汇编语言程序设计 vv 5.2.1 5.2.1 5.2.1 5.2.1 顺序程序设计顺序程序设计顺序程序设计顺序程序设计vv 5.2.2 5.2.2 5.2.2 5.2.2 分支程序设计分支程序设计分支程序设计分支程序设计vv 5.2.3 5.2.3 5.2.3 5.2.3 循环程序设计循环程序设计循环程序设计循环程序设计vv 5.2.4 5.2.4 5.2.4 5.2.4 子程序设计子程序设计子程序设计子程序设计vv 5.2.5 DOS5.2.5 DOS5.2.5 DOS5.2.5 DOS功能调用功能调用功能调用功能调用 vvvv汇编语言的处理过程汇编语言的处理过程汇编语言的处理过程汇编语言的处理过程:vv(1 1 1 1)编写汇编语言源程序,生成扩展名为)编写汇编语言源程序,生成扩展名为)编写汇编语言源程序,生成扩展名为)编写汇编语言源程序,生成扩展名为ASMASMASMASM的汇编源源文件。的汇编源源文件。的汇编源源文件。的汇编源源文件。vv(2 2 2 2)对汇编源程序进行编译。)对汇编源程序进行编译。)对汇编源程序进行编译。)对汇编源程序进行编译。vv(3 3 3 3)对目标文件进行连接)对目标文件进行连接)对目标文件进行连接)对目标文件进行连接 。vv教学进程教学进程教学进程教学进程v5 5.1.180868086汇编语汇编语言基言基言基言基础础vvvvvv1 1 1 1)效率低(与人们描述计算过程的需要差距大);)效率低(与人们描述计算过程的需要差距大);)效率低(与人们描述计算过程的需要差距大);)效率低(与人们描述计算过程的需要差距大);vv2 2 2 2)机机机机器器器器硬硬硬硬件件件件的的的的具具具具体体体体结结结结构构构构联联联联系系系系过过过过于于于于紧紧紧紧密密密密在在在在一一一一种种种种结结结结构构构构的的的的机机机机器器器器上上上上开开开开发发发发 的程序极难移植到另一种不同结构的机器上去。的程序极难移植到另一种不同结构的机器上去。的程序极难移植到另一种不同结构的机器上去。的程序极难移植到另一种不同结构的机器上去。vv教学进程教学进程教学进程教学进程v5 5.1.180868086汇编语汇编语言基言基言基言基础础vv汇编语言进行程序设计的优点汇编语言进行程序设计的优点汇编语言进行程序设计的优点汇编语言进行程序设计的优点vv1 1 1 1)充分利用机器的硬件功能和结构特点,加快程序的执行速度,)充分利用机器的硬件功能和结构特点,加快程序的执行速度,)充分利用机器的硬件功能和结构特点,加快程序的执行速度,)充分利用机器的硬件功能和结构特点,加快程序的执行速度,减少目标程序所占用的存储空间;减少目标程序所占用的存储空间;减少目标程序所占用的存储空间;减少目标程序所占用的存储空间;vv2 2 2 2)用来编写实时控制程序、实时通信程序,有时也用来编制某)用来编写实时控制程序、实时通信程序,有时也用来编制某)用来编写实时控制程序、实时通信程序,有时也用来编制某)用来编写实时控制程序、实时通信程序,有时也用来编制某些些些些 系统软件程序。系统软件程序。系统软件程序。系统软件程序。vv汇编语言进行程序设计缺点汇编语言进行程序设计缺点汇编语言进行程序设计缺点汇编语言进行程序设计缺点vv教学进程教学进程教学进程教学进程vv宏宏宏宏指指指指令令令令语语语语句句句句是是是是由由由由编编编编程程程程者者者者按按按按照照照照一一一一定定定定的的的的规规规规则则则则来来来来定定定定义义义义的的的的一一一一种种种种较较较较“宏大宏大宏大宏大”的指令,可包括多条指令或伪指令。的指令,可包括多条指令或伪指令。的指令,可包括多条指令或伪指令。的指令,可包括多条指令或伪指令。汇编语汇编语言基本言基本言基本言基本语语法法法法 vv在在在在8086808680868086汇编中使用的语句可以分成汇编中使用的语句可以分成汇编中使用的语句可以分成汇编中使用的语句可以分成3 3 3 3种类型种类型种类型种类型vv这类指令能够产生目标代码,是这类指令能够产生目标代码,是这类指令能够产生目标代码,是这类指令能够产生目标代码,是CPUCPUCPUCPU可以执行的能够完可以执行的能够完可以执行的能够完可以执行的能够完成特定功能的语句,主要由机器指令组成。在汇编时一条成特定功能的语句,主要由机器指令组成。在汇编时一条成特定功能的语句,主要由机器指令组成。在汇编时一条成特定功能的语句,主要由机器指令组成。在汇编时一条指令语句被翻译成对应的机器码,对应着特定的操作。指令语句被翻译成对应的机器码,对应着特定的操作。指令语句被翻译成对应的机器码,对应着特定的操作。指令语句被翻译成对应的机器码,对应着特定的操作。vv 指令语句:指令语句:指令语句:指令语句:vv伪指令语句:伪指令语句:伪指令语句:伪指令语句:vv伪指令语句是为汇编程序和连接程序提供一些必要控制伪指令语句是为汇编程序和连接程序提供一些必要控制伪指令语句是为汇编程序和连接程序提供一些必要控制伪指令语句是为汇编程序和连接程序提供一些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过程中告的管理性语句,它不产生目标代码,仅仅在汇编过程中告的管理性语句,它不产生目标代码,仅仅在汇编过程中告的管理性语句,它不产生目标代码,仅仅在汇编过程中告诉汇编程序应如何汇编,并完成相应的伪操作。诉汇编程序应如何汇编,并完成相应的伪操作。诉汇编程序应如何汇编,并完成相应的伪操作。诉汇编程序应如何汇编,并完成相应的伪操作。vv宏指令语句:宏指令语句:宏指令语句:宏指令语句:vv5.1.15.1.15.1.15.1.1vv教学进程教学进程教学进程教学进程vv汇编语言源程序中的语句可以由四项组成,格式如下:汇编语言源程序中的语句可以由四项组成,格式如下:汇编语言源程序中的语句可以由四项组成,格式如下:汇编语言源程序中的语句可以由四项组成,格式如下:vv 名字名字名字名字 操作符操作符操作符操作符 操作数操作数操作数操作数 ;注释;注释;注释;注释 汇编语汇编语言言言言语语句句句句 vv5.1.25.1.25.1.25.1.2vv(2 2 2 2)操作符可以是指令、伪指令或宏指令的助记符。)操作符可以是指令、伪指令或宏指令的助记符。)操作符可以是指令、伪指令或宏指令的助记符。)操作符可以是指令、伪指令或宏指令的助记符。vv(3 3 3 3)操作数字段是操作符的操作对象。)操作数字段是操作符的操作对象。)操作数字段是操作符的操作对象。)操作数字段是操作符的操作对象。vv(4 4 4 4)注释字段是以)注释字段是以)注释字段是以)注释字段是以“;”开头的说明部分,可以用英文或开头的说明部分,可以用英文或开头的说明部分,可以用英文或开头的说明部分,可以用英文或者中文书写。者中文书写。者中文书写。者中文书写。vv(1 1 1 1)名字项是程序设计人员自己定义的符号,)名字项是程序设计人员自己定义的符号,)名字项是程序设计人员自己定义的符号,)名字项是程序设计人员自己定义的符号,用于代表内存单元的用于代表内存单元的用于代表内存单元的用于代表内存单元的 地址,表示本条语句的符号地址。一般来说,名字可以是标号和地址,表示本条语句的符号地址。一般来说,名字可以是标号和地址,表示本条语句的符号地址。一般来说,名字可以是标号和地址,表示本条语句的符号地址。一般来说,名字可以是标号和 变量,统称为标识符。变量,统称为标识符。变量,统称为标识符。变量,统称为标识符。vvvv1.1.1.1.汇编语言格汇编语言格汇编语言格汇编语言格式式式式vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言语汇编语言语汇编语言语汇编语言语句句句句 vv教学进程教学进程教学进程教学进程vvvv1.1.1.1.汇编语言格汇编语言格汇编语言格汇编语言格式式式式vv标号标号标号标号:标号在代码段中定义,后面跟着冒号标号。:标号在代码段中定义,后面跟着冒号标号。:标号在代码段中定义,后面跟着冒号标号。:标号在代码段中定义,后面跟着冒号标号。vv变量变量变量变量:变量在数据段或附加数据段中定义,后面不跟冒号。:变量在数据段或附加数据段中定义,后面不跟冒号。:变量在数据段或附加数据段中定义,后面不跟冒号。:变量在数据段或附加数据段中定义,后面不跟冒号。标识标识符符符符vv标号和变量都有三个属性标号和变量都有三个属性标号和变量都有三个属性标号和变量都有三个属性vv段属性:标号所代表的段的值,可用段属性:标号所代表的段的值,可用段属性:标号所代表的段的值,可用段属性:标号所代表的段的值,可用SEGSEGSEGSEG算符得到。算符得到。算符得到。算符得到。vv偏移量属性:标号所代表的偏移量的值,可用偏移量属性:标号所代表的偏移量的值,可用偏移量属性:标号所代表的偏移量的值,可用偏移量属性:标号所代表的偏移量的值,可用OFFSETOFFSETOFFSETOFFSET算符得到。算符得到。算符得到。算符得到。vv类型属性:标号所代表的内存单元所存放的数据或指令代码的类型。类型属性:标号所代表的内存单元所存放的数据或指令代码的类型。类型属性:标号所代表的内存单元所存放的数据或指令代码的类型。类型属性:标号所代表的内存单元所存放的数据或指令代码的类型。vv 组成标号的字符:组成标号的字符:组成标号的字符:组成标号的字符:A A A AZ Z Z Z,a a a az z z z,0 0 0 09 9 9 9,?,$,和,和,和,和_(_(_(_(下划线下划线下划线下划线);vv 标号的最大长度为标号的最大长度为标号的最大长度为标号的最大长度为3l3l3l3l(字符个数);(字符个数);(字符个数);(字符个数);vv 标号的第一个字符不能是标号的第一个字符不能是标号的第一个字符不能是标号的第一个字符不能是0 0 0 09 9 9 9的数字;的数字;的数字;的数字;vv 机机机机器器器器指指指指令令令令语语语语句句句句中中中中标标标标号号号号必必必必须须须须以以以以冒冒冒冒号号号号结结结结束束束束,伪伪伪伪指指指指令令令令语语语语句句句句中中中中的的的的标标标标号号号号不不不不允允允允 许有冒号。许有冒号。许有冒号。许有冒号。vv名字项的组成规则名字项的组成规则名字项的组成规则名字项的组成规则vvvv算算算算术术术术操操操操作作作作符符符符有有有有+、-、*、/和和和和 MODMODMODMOD以以以以及及及及SHLSHLSHLSHL(左左左左移移移移)、SHRSHRSHRSHR(右右右右移移移移)。其中。其中。其中。其中MODMODMODMOD运算是取模运算,即除法之后所得的余数。运算是取模运算,即除法之后所得的余数。运算是取模运算,即除法之后所得的余数。运算是取模运算,即除法之后所得的余数。vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言汇编语言汇编语言汇编语言语句语句语句语句 vv2.2.2.2.vv例例例例:MOV:MOV:MOV:MOVALALALAL,10MOD310MOD310MOD310MOD3;AL=1AL=1AL=1AL=1vv ADD ADD ADD ADDALALALAL,11HSHR111HSHR111HSHR111HSHR1;AL=8AL=8AL=8AL=8vv MOV MOV MOV MOVAXAXAXAX,(9-1)*2(9-1)*2(9-1)*2(9-1)*2;AX=0FH AX=0FH AX=0FH AX=0FH vv教学进程教学进程教学进程教学进程算算算算术术操作符操作符操作符操作符vv逻逻逻逻辑辑辑辑操操操操作作作作符符符符包包包包括括括括ANDANDANDAND、OROROROR、XORXORXORXOR、NOTNOTNOTNOT,逻逻逻逻辑辑辑辑操操操操作作作作符符符符是是是是按按按按位位位位操操操操作作作作的的的的,只能用于数字表达式。只能用于数字表达式。只能用于数字表达式。只能用于数字表达式。vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言汇编语言汇编语言汇编语言语句语句语句语句 vv例例例例:vvANDANDANDANDDXDXDXDX,PORT_VAL ANDPORT_VAL ANDPORT_VAL ANDPORT_VAL AND;DX=DX AND DX=DX AND DX=DX AND DX=DX AND PORT_VAL ANDPORT_VAL ANDPORT_VAL ANDPORT_VAL ANDvvMOV MOV MOV MOV ALALALAL,00H AND 0FH00H AND 0FH00H AND 0FH00H AND 0FH;AL=00HAL=00HAL=00HAL=00HvvMOV MOV MOV MOV CXCXCXCX,08FH OR F8H08FH OR F8H08FH OR F8H08FH OR F8H;CX=0FFHS CX=0FFHS CX=0FFHS CX=0FFHS vv教学进程教学进程教学进程教学进程vv 3.3.3.3.逻辑逻辑操作符操作符操作符操作符vv 求变量或标号类型值求变量或标号类型值求变量或标号类型值求变量或标号类型值vv 格式:格式:格式:格式:TYPE TYPE TYPE TYPE 变量或标号变量或标号变量或标号变量或标号vv 功能功能功能功能:若为变量,则程序将回送该变量以字节数表示的类型:若为变量,则程序将回送该变量以字节数表示的类型:若为变量,则程序将回送该变量以字节数表示的类型:若为变量,则程序将回送该变量以字节数表示的类型:DB DB DB DB为为为为1 1 1 1,DWDWDWDW为为为为2 2 2 2,DDDDDDDD为为为为4 4 4 4,DQDQDQDQ为为为为8 8 8 8,DTDTDTDT为为为为10101010。vv 若为标号,则程序将回送代表该标号类型的若为标号,则程序将回送代表该标号类型的若为标号,则程序将回送代表该标号类型的若为标号,则程序将回送代表该标号类型的数值数值数值数值:NEAR:NEAR:NEAR:NEAR 为为为为-1-1-1-1,FRAFRAFRAFRA为为为为-2-2-2-2。vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言汇编语言汇编语言汇编语言语句语句语句语句 vv 例例例例:vv ARRAY ARRAY ARRAY ARRAYDW 1DW 1DW 1DW 1,2 2 2 2,3 3 3 3vv MOV MOV MOV MOV AX AX AX AX,05H05H05H05Hvv ADD ADD ADD ADD AXAXAXAX,TYPE ARRAYTYPE ARRAYTYPE ARRAYTYPE ARRAY;AX=5+2=7 AX=5+2=7 AX=5+2=7 AX=5+2=7 vv教学进程教学进程教学进程教学进程vv 4.4.4.4.数数数数值值回送操作符回送操作符回送操作符回送操作符vvvv 格式:格式:格式:格式:OFFSETOFFSETOFFSETOFFSET变量或标号变量或标号变量或标号变量或标号 vv 功能:返回变量或标号所在段的段内偏移地功能:返回变量或标号所在段的段内偏移地功能:返回变量或标号所在段的段内偏移地功能:返回变量或标号所在段的段内偏移地 vv 例例例例:MOV AX OFFSET LABEL:MOV AX OFFSET LABEL:MOV AX OFFSET LABEL:MOV AX OFFSET LABEL;vv AX=0001H AX=0001H AX=0001H AX=0001H vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言语汇编语言语汇编语言语汇编语言语句句句句 vv取段基地址取段基地址取段基地址取段基地址vv 格式:格式:格式:格式:SEG SEG SEG SEG 变量或标号变量或标号变量或标号变量或标号vv 功能:返回变量或标号所在段的段地址功能:返回变量或标号所在段的段地址功能:返回变量或标号所在段的段地址功能:返回变量或标号所在段的段地址vv 例例例例 :MOV DX SEG LABEL:MOV DX SEG LABEL:MOV DX SEG LABEL:MOV DX SEG LABEL;vv AX=1000HAX=1000HAX=1000HAX=1000H vv教学进程教学进程教学进程教学进程vv4.4.4.4.数值回送操作符数值回送操作符数值回送操作符数值回送操作符vv取地址的偏移量取地址的偏移量取地址的偏移量取地址的偏移量vvvv 格式:格式:格式:格式:LENGTH LENGTH LENGTH LENGTH 变量变量变量变量vv 功功功功能能能能:如如如如果果果果变变变变量量量量是是是是用用用用DUPDUPDUPDUP说说说说明明明明,则则则则返返返返回回回回DUPDUPDUPDUP定定定定义义义义变变变变量量量量的的的的重重重重 复次数,否则,返回值为复次数,否则,返回值为复次数,否则,返回值为复次数,否则,返回值为1 1 1 1。vv 取变量字节数取变量字节数取变量字节数取变量字节数vv 格式:格式:格式:格式:SIZE BIANL1SIZE BIANL1SIZE BIANL1SIZE BIANL1vv 功能:返回变量的字节数,等于功能:返回变量的字节数,等于功能:返回变量的字节数,等于功能:返回变量的字节数,等于LENGTHLENGTHLENGTHLENGTH与与与与TYPETYPETYPETYPE的乘积。的乘积。的乘积。的乘积。vv例:例:例:例:BUFFER1 DB 10 DUPBUFFER1 DB 10 DUPBUFFER1 DB 10 DUPBUFFER1 DB 10 DUP(10H10H10H10H)vv BUFFER2 DW 20 DUPBUFFER2 DW 20 DUPBUFFER2 DW 20 DUPBUFFER2 DW 20 DUP(20H20H20H20H)vv MOV AXMOV AXMOV AXMOV AX,LENGTH BUFFER1LENGTH BUFFER1LENGTH BUFFER1LENGTH BUFFER1;AX=10AX=10AX=10AX=10vv MOV BX MOV BX MOV BX MOV BX,SIZE BUFFER2 SIZE BUFFER2 SIZE BUFFER2 SIZE BUFFER2;BX=20 BX=20 BX=20 BX=20 vv教学进程教学进程教学进程教学进程vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言语汇编语言语汇编语言语汇编语言语句句句句 vv4.4.4.4.数值回送操作符数值回送操作符数值回送操作符数值回送操作符vv取取取取变变量量量量单单元数元数元数元数vv5.5.5.5.1.21.21.21.2vv汇编语言语句汇编语言语句汇编语言语句汇编语言语句 vv PTRPTRPTRPTR操作符操作符操作符操作符vv 格式:类型格式:类型格式:类型格式:类型 PTR PTR PTR PTR 符号名符号名符号名符号名vv 功能:该操作符用于指定操作数的类型。功能:该操作符用于指定操作数的类型。功能:该操作符用于指定操作数的类型。功能:该操作符用于指定操作数的类型。属性操作符属性操作符属性操作符属性操作符vv教学进程教学进程教学进程教学进程vv5.5.5.5.vv THISTHISTHISTHIS操作符操作符操作符操作符vv 格式:格式:格式:格式:THIS THIS THIS THIS 类型类型类型类型vv 功能:把它后面指定的类型或距离属性赋给当前的变量、标号功能:把它后面指定的类型或距离属性赋给当前的变量、标号功能:把它后面指定的类型或距离属性赋给当前的变量、标号功能:把它后面指定的类型或距离属性赋给当前的变量、标号或定或定或定或定 制表达式。制表达式。制表达式。制表达式。vv 段操作符段操作符段操作符段操作符vv 格式:段寄存器名:地址表达式格式:段寄存器名:地址表达式格式:段寄存器名:地址表达式格式:段寄存器名:地址表达式vv 功能:用来表示变量或地址表达式的段属性。功能:用来表示变量或地址表达式的段属性。功能:用来表示变量或地址表达式的段属性。功能:用来表示变量或地址表达式的段属性。vv vv 格式:格式:格式:格式:SHORT SHORT SHORT SHORT 标号标号标号标号vv 功能:用来修饰转移指令的目标地址的属性,偏移量为功能:用来修饰转移指令的目标地址的属性,偏移量为功能:用来修饰转移指令的目标地址的属性,偏移量为功能:用来修饰转移指令的目标地址的属性,偏移量为8 8 8 8位。位。位。位。vv 分类运算符分类运算符分类运算符分类运算符vv 格式:格式:格式:格式:HIGH HIGH HIGH HIGH 表达式表达式表达式表达式 LOW LOW LOW LOW 表达式表达式表达式表达式vv 功能:从表达式种分离出高字节、低字节。功能:从表达式种分离出高字节、低字节。功能:从表达式种分离出高字节、低字节。功能:从表达式种分离出高字节、低字节。vv运算符运算符运算符运算符:EQEQEQEQ(相等)、(相等)、(相等)、(相等)、NENENENE(不等于)、(不等于)、(不等于)、(不等于)、LTLTLTLT(小于)、(小于)、(小于)、(小于)、GTGTGTGT(大于)、(大于)、(大于)、(大于)、LELELELE(小于或等于)、(小于或等于)、(小于或等于)、(小于或等于)、GEGEGEGE(大于或等于),当关系成立时,(大于或等于),当关系成立时,(大于或等于),当关系成立时,(大于或等于),当关系成立时,运算结果为运算结果为运算结果为运算结果为1 1 1 1(FFHFFHFFHFFH或或或或FFFFHFFFFHFFFFHFFFFH),否则为否则为否则为否则为0 0 0 0。vv格式:表达式格式:表达式格式:表达式格式:表达式1 1 1 1 关系运算符关系运算符关系运算符关系运算符 表达式表达式表达式表达式2 2 2 2 SHORTSHORTSHORTSHORT操作符操作符操作符操作符vv教学进程教学进程教学进程教学进程vv5.1.2 5.1.2 5.1.2 5.1.2 汇编语言语汇编语言语汇编语言语汇编语言语句句句句 vv属性操作符属性操作符属性操作符属性操作符vv5.5.5.5.vv6.6.6.6.vv关系运算关系运算关系运算关系运算符符符符v优先级优先级v运算符(操作符)运算符(操作符)vv高高vvvvvvvv低低v括号中的表达式括号中的表达式vLENGTHLENGTH,SIZESIZE,WIDTHWIDTH,MASKMASKvPRTPRT,OFFSETOFFSET,SEGSEG,TYPETYPE,THISTHIS,段前缀,段前缀vHIGHHIGH,LOWLOWv*,/,MODMOD,SHLSHL,SHRSHRv+,-vEQEQ,NENE,LTLT,TETE,GTGT,GEGEvNOTNOTvOROR,XORXORvSHORTSHORTvv5.5.5.5.1.21.21.21.2vv汇编语言语句汇编语言语句汇编语言语句汇编语言语句 运算的运算的运算的运算的优优先先先先级别级别vv教学进程教学进程教学进程教学进程vv7.7.7.7.vv EQU EQU EQU EQU 等价伪指令等价伪指令等价伪指令等价伪指令vv 格式:符号名格式:符号名格式:符号名格式:符号名 EQU EQU EQU EQU 表达式表达式表达式表达式vv 功功功功能能能能:用用用用来来来来定定定定义义义义一一一一个个个个符符符符号号号号,用用用用该该该该符符符符号号号号代代代代表表表表机机机机器器器器指指指指令令令令助助助助记记记记符符符符、伪伪伪伪 指令助记符、寄存器名字、各种运算符号、常数等。指令助记符、寄存器名字、各种运算符号、常数等。指令助记符、寄存器名字、各种运算符号、常数等。指令助记符、寄存器名字、各种运算符号、常数等。伪伪指令指令指令指令语语句句句句vv例例例例:VALVALVALVALEQUEQUEQUEQU100100100100vv JIA JIA JIA JIAEQUEQUEQUEQUADDADDADDADDvv ADR ADR ADR ADR EQU EQU EQU EQUSI+BX+1000HSI+BX+1000HSI+BX+1000HSI+BX+1000Hvv MOV MOV MOV MOV ALALALAL,VALVALVALVALvv JIA JIA JIA JIAALALALAL,10101010vv MOV MOV MOV MOV ADR ADR ADR ADR,AL AL AL AL vv1.1.1.1.符号定义伪指令符号定义伪指令符号定义伪指令符号定义伪指令vv教学进程教学进程教学进程教学进程vv5.1.35.1.35.1.35.1.3vv 等号伪指令等号伪指令等号伪指令等号伪指令vv 格式:符号名表达式格式:符号名表达式格式:符号名表达式格式:符号名表达式vv 功功功功能能能能:等等等等号号号号伪伪伪伪指指指指令令令令用用用用来来来来定定定定义义义义一一一一个个个个符符符符号号号号,用用用用该该该该符符符符号号号号代代代代表表表表表表表表达达达达式式式式、常数等。常数等。常数等。常数等。vv5.1.5.1.5.1.5.1.3 3 3 3vv教学进程教学进程教学进程教学进程伪伪指令指令指令指令语语句句句句(续续)vv1.1.1.1.符号定义伪指令符号定义伪指令符号定义伪指令符号定义伪指令vv 解除符号定义伪指令解除符号定义伪指令解除符号定义伪指令解除符号定义伪指令vv 格式:格式:格式:格式:PURGEPURGEPURGEPURGE符号符号符号符号1 1 1 1,符号,符号,符号,符号2 2 2 2,vv 功能:用来解除之前引用符号的定义。功能:用来解除之前引用符号的定义。功能:用来解除之前引用符号的定义。功能:用来解除之前引用符号的定义。vv数据定义伪指令有数据定义伪指令有数据定义伪指令有数据定义伪指令有五种五种五种五种:DBDBDBDB、DWDWDWDW、DDDDDDDD、DQDQDQDQ、DTDTDTDT和和和和DUPDUPDUPDUP。vv格式格式格式格式:变量名变量名变量名变量名 DB DB DB DB 表达式;定义字节表达式;定义字节表达式;定义字节表达式;定义字节vv 变量名变量名变量名变量名 DW DW DW DW 表达式;定义字表达式;定义字表达式;定义字表达式;定义字vv 变量名变量名变量名变量名 DD DD DD DD 表达式;定义双字表达式;定义双字表达式;定义双字表达式;定义双字vv 变量名变量名变量名变量名 DQ DQ DQ DQ 表达式;定义表达式;定义表达式;定义表达式;定义8 8 8 8个字节个字节个字节个字节vv 变量名变量名变量名变量名 DT DT DT DT 表达式;定义表达式;定义表达式;定义表达式;定义10101010个字节个字节个字节个字节vv 复制次数复制次数复制次数复制次数 DUP DUP DUP DUP 表达式表达式表达式表达式 vv功功功功能能能能:其其其其中中中中,DTDTDTDT伪伪伪伪操操操操作作作作指指指指令令令令用用用用来来来来定定定定义义义义10101010个个个个字字字字节节节节,其其其其后后后后的的的的每每每每个个个个操操操操作作作作数数数数占占占占有有有有10101010个个个个字字字字节节节节,形形形形成成成成压压压压缩缩缩缩的的的的BCDBCDBCDBCD码码码码;DUPDUPDUPDUP指指指指令令令令可可可可以以以以为为为为若若若若干干干干重重重重复数据分配内存单元。复数据分配内存单元。复数据分配内存单元。复数据分配内存单元。vvv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语伪指令语伪指令语伪指令语句句句句数据定数据定数据定数据定义伪义伪指令指令指令指令 vv教学进程教学进程教学进程教学进程vv2.2.2.2.vv格式:格式:格式:格式:vv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语伪指令语伪指令语伪指令语句句句句段定段定段定段定义伪义伪指令指令指令指令 vv教学进程教学进程教学进程教学进程vv3.3.3.3.vv段名段名段名段名 SEGMENTSEGMENTSEGMENTSEGMENTvv vv段名段名段名段名 ENDSENDSENDSENDSvv段定义时,必须将段和段寄存器自之间建立对应关系,可以段定义时,必须将段和段寄存器自之间建立对应关系,可以段定义时,必须将段和段寄存器自之间建立对应关系,可以段定义时,必须将段和段寄存器自之间建立对应关系,可以用用用用ASSUMEASSUMEASSUMEASSUME伪操作来实现,其格式为:伪操作来实现,其格式为:伪操作来实现,其格式为:伪操作来实现,其格式为:vv ASSUME ASSUME ASSUME ASSUME 段寄存器名:段名段寄存器名:段名段寄存器名:段名段寄存器名:段名1111,段名,段名,段名,段名2222vv例:例:例:例:*vvdata_seg1 segmentdata_seg1 segmentdata_seg1 segmentdata_seg1 segment ;定定定定义义义义数数数数据段据段据段据段vvvvdata_seg1 endsdata_seg1 endsdata_seg1 endsdata_seg1 endsvv *vvcode_seg segmentcode_seg segmentcode_seg segmentcode_seg segment ;定义代码段定义代码段定义代码段定义代码段 vv assumeassumeassumeassumedsdsdsds:data_seg1data_seg1data_seg1data_seg1,eseseses:data_seg1data_seg1data_seg1data_seg1vv assume assume assume assume cscscscs:code_seg code_seg code_seg code_seg vvstartstartstartstart:;程程程程序序序序执执执执行行行行的的的的起起起起始地址始地址始地址始地址mov mov mov mov axaxaxax,data_seg1 data_seg1 data_seg1 data_seg1 ;数数数数据据据据段地址段地址段地址段地址 vvmov mov mov mov dsdsdsds,ax ax ax ax ;存入存入存入存入DSDSDSDS寄存器寄存器寄存器寄存器vvmov mov mov mov axaxaxax,data_seg1data_seg1data_seg1data_seg1 ;附加段地址附加段地址附加段地址附加段地址vvmov mov mov mov eseseses,axaxaxax ;存入存入存入存入ESESESES寄存器寄存器寄存器寄存器vv vv code_seg ends code_seg ends code_seg ends code_seg ends ;代码段结束代码段结束代码段结束代码段结束vv*vvend end end end start start start start vv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语伪指令语伪指令语伪指令语句句句句vv教学进程教学进程教学进程教学进程段定段定段定段定义伪义伪指令指令指令指令举举例例例例vv格式:格式:格式:格式:vv功功功功能能能能:完完完完成成成成过过过过程程程程定定定定义义义义,在在在在过过过过程程程程体体体体 中中中中实实实实现现现现过过过过程程程程的的的的操操操操作作作作功能。功能。功能。功能。v过程名过程名 PROCPROCvv过过 程程体体vRETRETv过程名过程名 ENDPENDPvv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语伪指令语伪指令语伪指令语句句句句过过程定程定程定程定义伪义伪指令指令指令指令vv教学进程教学进程教学进程教学进程vv4.4.4.4.v 例:例:CODE CODE SEGMENTSEGMENTv APRC APRC PROCPROCNEARNEARvADDADDAXAX,BXBXvvRETRETv APRC APRC ENDPENDPv STARTSTART:MOVMOVAXAX,CXCXvCALLCALLAPOCAPOCvv CODE CODEENDSENDSvEND END STARTSTARTvv条件汇编有多种伪操作指令:条件汇编有多种伪操作指令:条件汇编有多种伪操作指令:条件汇编有多种伪操作指令:(1 1 1 1)IF IF IF IF 表达式表达式表达式表达式vv 功能:表达式为功能:表达式为功能:表达式为功能:表达式为1 1 1 1,汇编程序段,汇编程序段,汇编程序段,汇编程序段1 1 1 1,否则跳过。,否则跳过。,否则跳过。,否则跳过。(2 2 2 2)IFE IFE IFE IFE 表达式表达式表达式表达式vv 功能:表达式为功能:表达式为功能:表达式为功能:表达式为0 0 0 0,汇编程序段,汇编程序段,汇编程序段,汇编程序段1 1 1 1,否则跳过。,否则跳过。,否则跳过。,否则跳过。(3 3 3 3)IFB IFB IFB IFB 参数参数参数参数vv 功能:参数为空格,汇编程序段功能:参数为空格,汇编程序段功能:参数为空格,汇编程序段功能:参数为空格,汇编程序段1 1 1 1,否则跳过。,否则跳过。,否则跳过。,否则跳过。vv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语伪指令语伪指令语伪指令语句句句句vv格式:格式:格式:格式:IFIFIFIF 表达式表达式表达式表达式vv 程序段程序段程序段程序段1 1 1 1vv ELSE ELSE ELSE ELSEvv 程序段程序段程序段程序段2 2 2 2vv ENDIF ENDIF ENDIF ENDIFvv5 5 5 5.vv教学进程教学进程教学进程教学进程条件条件条件条件汇编伪汇编伪指令指令指令指令(4 4 4 4)IFNB IFNB IFNB IFNB 参数参数参数参数vv 功能:参数不为空格,汇编程序段功能:参数不为空格,汇编程序段功能:参数不为空格,汇编程序段功能:参数不为空格,汇编程序段1 1 1 1,否则跳过。,否则跳过。,否则跳过。,否则跳过。(5 5 5 5)IFIDN IFIDN IFIDN IFIDN 参数参数参数参数1 1 1 1,参数,参数,参数,参数2 2 2 2vv 功能:字符串参数功能:字符串参数功能:字符串参数功能:字符串参数1 1 1 1与字符串参数与字符串参数与字符串参数与字符串参数2 2 2 2相同,汇编程序相同,汇编程序相同,汇编程序相同,汇编程序1 1 1 1,否则跳,否则跳,否则跳,否则跳过。过。过。过。vv5.1.3 5.1.3 5.1.3 5.1.3 伪指令语句伪指令语句伪指令语句伪指令语句vv例:例:例:例:AAAAAAAA EQUEQUEQUEQU10H10H10H10HvvvvIFIFIFIFAA-10HAA-10HAA-10HAA-10HvvMOVMOVMOVMOVCLCLCLCL,4 4 4 4vvSALSALSALSALALALALAL,CLCLCLCLvvELSEELSEELSEELSEvvMOVMOVMOVMOVCLCLCLCL,4 4 4 4vvSARSARSARSARALALALAL,CLCLCLCLvvEND IFEND IFEND IFEND IFvv教学进程教学进程教学进程教学进程条件条件条件条件汇编汇编有多种有多种有多种有多种伪伪操作指令(操作指令(操作指令(操作指令(续续)vv5 5 5 5.vv条件汇编伪指令条件汇编伪指令条件汇编伪指令条件汇编伪指令vv格式:宏指令名格式:宏指令名格式:宏指令名格式:宏指令名 MACRO MACRO MACRO MACRO 形式参数形式参数形式参数形式参数1 1 1 1,形式参数,形式参数,形式参数,形式参数2 2 2 2,vvvvENDMENDMENDMENDMvv 其中,其中,其中,其中,MACROMACROMACROMACRO和和和和ENDMENDMENDMENDM是一对伪操作。是一对伪操作。是一对伪操作。是一对伪操作。宏指令宏指令宏指令宏指令语语句句句句vv1.1.1.1.宏指令的定义宏指令的定义宏指令的定义宏指令的定义vv教学进程教学进程教学进程教学进程vv5.1.45.1.45.1.45.1.4vv5.5.5.5.1.41.41.41.4vv宏指令语句宏指令语句宏指令语句宏指令语句 vvvv MIN CL MIN CL MIN CL MIN CL,SISISISI,DIDIDIDI ;把把把把由由由由SISISISI和和和和DIDIDIDI间间间间接接接接寻寻寻寻址址址址的的的的两两两两个个个个内存单元中内存单元中内存单元中内存单元中vv ;不不不不带带带带符符符符号号号号数中小的送入数中小的送入数中小的送入数中小的送入CLCLCLCLvv vv汇编后展开:汇编后展开:汇编后展开:汇编后展开:vvvvPUSH PUSH PUSH PUSH AXAXAXAXvvMOV MOV MOV MOV ALALALAL,SISISISI;实参;实参;实参;实参SISISISI替换形参替换形参替换形参替换形参SR1SR1SR1SR1vvCMP CMP CMP CMP ALALALAL,DIDIDIDI;实参;实参;实参;实参DIDIDIDI替换形参替换形参替换形参替换形参SR2SR2SR2SR2vvJNB JNB JNB JNB?00?00?00?00;符合地址;符合地址;符合地址;符合地址ADDRADDRADDRADDR被被被被?00?00?00?00替换替换替换替换vvMOV MOV MOV MOV ALALALAL,DIDIDIDIvv?00?00?00?00:MOV MOV MOV MOV CLCLCLCL,ALALALAL;实参;实参;实参;实参CLCLCLCL替换形参替换形参替换形参替换形参DESDESDESDESvvPOP POP POP POP AXAXAXAXvvvv号代表宏展开的语句。号代表宏展开的语句。号代表宏展开的语句。号代表宏展开的语句。vv教学进程教学进程教学进程教学进程宏宏宏宏调调用用用用举举例例例例vv5.5.5.5.1.41.41.41.4vv宏指令语句宏指令语句宏指令语句宏指令语句 vv格式:格式:格式:格式:LOCALLOCALLOCALLOCAL符号地址符号地址符号地址符号地址1 1 1 1,符号地址,符号地址,符号地址,符号地址2 2 2 2,vv这些符号地址在宏展开时,由汇编程序重新命名。这些符号地址在宏展开时,由汇编程序重新命名。这些符号地址在宏展开时,由汇编程序重新命名。这些符号地址在宏展开时,由汇编程序重新命名。局域符号定局域符号定局域符号定局域符号定义义vv例:宏定义可以无参数例:宏定义可以无参数例:宏定义可以无参数例:宏定义可以无参数vv宏定义:宏定义:宏定义:宏定义:vvSAVEREG SAVEREG SAVEREG SAVEREG MACROMACROMACROMACROvvPUSH PUSH PUSH PUSH AXAXAXAXvvPUSHPUSHPUSHPUSH BX BX BX BXvvPUSHPUSHPUSHPUSH CX CX CX CXvvPUSHPUSHPUSHPUSH DX DX DX DXvvENDMENDMENDMENDMvv宏调用:宏调用:宏调用:宏调用:vvSAVEREGSAVEREGSAVEREGSAVEREGvv3.3.3.3.宏指令举例宏指令举例宏指令举例宏指令举例 vv教学进程教学进程教学进程教学进程vv2.2.2.2.vv 例:宏定义参数可以时操作码例:宏定义参数可以时操作码例:宏定义参数可以时操作码例:宏定义参数可以时操作码vv 宏定义:宏定义:宏定义:宏定义:vv REGINCREGINCREGINCREGINCMOCROMOCROMOCROMOCROP1P1P1P1,P2P2P2P2,P3P3P3P3vvMOV AXMOV AXMOV AXMOV AX,P1P1P1P1vvP2P2P2P2P3P3P3P3vvENDMENDMENDMENDMvv 宏调用:宏调用:宏调用:宏调用:vvREGINCREGINCREGINCREGINC IVAR1IVAR1IVAR1IVAR1,INCINCINCINC,AXAXAXAXvv 宏展开:宏展开:宏展开:宏展开:vv MOV MOV MOV MOV AXAXAXAX,IVAR1IVAR1IVAR1IVAR1vv INCINCINCINC AX AX AX AX vv5.5.5.5.1.41.41.41.4vv宏指令语句宏指令语句宏指令语句宏指令语句 vv 伪操作伪操作伪操作伪操作PURGEPURGEPURGEPURGE可以取消宏定义可以取消宏定义可以取消宏定义可以取消宏定义vv 宏定义:宏定义:宏定义:宏定义:vvADD2ADD2ADD2ADD2MACROMACROMACROMACROOPTR1OPTR1OPTR1OPTR1,OPTR2OPTR2OPTR2OPTR2,RESULTRESULTRESULTRESULTvvMOVMOVMOVMOV AX AX AX AX,OPTR1OPTR1OPTR1OPTR1vvADDADDADDADD AX AX AX AX,OPTR2OPTR2OPTR2OPTR2vvMOV MOV MOV MOV RESULTRESULTRESULTRESULT,AXAXAXAXvvENDMENDMENDMENDMvv 宏调用:宏调用:宏调用:宏调用:vvADD2ADD2ADD2ADD2XXXXXXXX,YYYYYYYY,ZZZZZZZZvvPURGEPURGEPURGEPURGEADD2 ADD2 ADD2 ADD2 vv教学进程教学进程教学进程教学进程伪伪操作操作操作操作PURGEPURGEPURGEPURGE汇编语汇编语言程序言程序言程序言程序设计设计 vv5.5.5.5.2.12.12.12.1vv顺序程序设计顺序程序设计顺序程序设计顺序程序设计 vv 例例例例:计计计计算算算算Y=5X+8Y=5X+8Y=5X+8Y=5X+8,设设设设X X X X为为为为无无无无符符符符号号号号字字字字节节节节数数数数据据据据,且且且且在在在在ARGXARGXARGXARGX单单单单元元元元存存存存放放放放。计算结果,存入计算结果,存入计算结果,存入计算结果,存入RLTYRLTYRLTYRLTY单元。单元。单元。单元。vv教学进程教学进程教学进程教学进程v5.25.2vv SSEG SSEG SSEG SSEG SEGMENT SEGMENT SEGMENT SEGMENTSTACKSTACKSTACKSTACK ;堆栈段开始;堆栈段开始;堆栈段开始;堆栈段开始vv STKSTKSTKSTK DB DB DB DB20 DUP(0)20 DUP(0)20 DUP(0)20 DUP(0)vv SSEG SSEG SSEG SSEG ENDS ENDS ENDS ENDS;堆栈段结束;堆栈段结束;堆栈段结束;堆栈段结束vv DSEGDSEGDSEGDSEG SEGMENT SEGMENT SEGMENT SEGMENT;数据段开始;数据段开始;数据段开始;数据段开始vv ARGXARGXARGXARGX DB DB DB DB15151515vv RLTY RLTY RLTY RLTY DW DW DW DW0 0 0 0vv DSEG DSEG DSEG DSEG ENDS ENDS ENDS ENDS;数据段结束;数据段结束;数据段结束;数据段结束vv CSEGCSEGCSEGCSEG SEGMENT SEGMENT SEGMENT SEGMENT;代码段开始;代码段开始;代码段开始;代码段开始vv ASSUMEASSUMEASSUMEASSUMECSCSCSCS:CSEGCSEGCSEGCSEG,DSDSDSDS:DSEGDSEGDSEGDSEGvv ASSUME ASSUME ASSUME ASSUMESSSSSSSS:SSEGSSEGSSEGSSEGvvCALCCALCCALCCALC:MOVMOVMOVMOVAXAXAXAX,DSEGDSEGDSEGDSEGvv MOV MOV MOV MOVDSDSDSDS,AXAXAXAXvv MOV MOV MOV MOVAXAXAXAX,SSEGSSEGSSEGSSEGvv MOV MOV MOV MOVSSSSSSSS,AXAXAXAXvv MOV MOV MOV MOVSPSPSPSP,LENGTH STKLENGTH STKLENGTH STKLENGTH STKvv MOV MOV MOV MOVALALALAL,ARGXARGXARGXARGX;取原始数;取原始数;取原始数;取原始数vv MOVMOVMOVMOVBLBLBLBL,05050505vv MUL MUL MUL MULBLBLBLBL;计算;计算;计算;计算5x5x5x5xvv MOV MOV MOV MOVBXBXBXBX,08080808vv ADD ADD ADD ADDAXAXAXAX,BXBXBXBX;再加上;再加上;再加上;再加上8 8 8 8vv MOV MOV MOV MOVRLTYRLTYRLTYRLTY,AXAXAXAX;保存结果;保存结果;保存结果;保存结果vv MOVMOVMOVMOVAXAXAXAX,4C00H4C00H4C00H4C00Hvv INT INT INT INT21H21H21H21HvvCSEGCSEGCSEGCSEG ENDS ENDS ENDS ENDSvv END END END ENDCALC CALC CALC CALC vv教学进程教学进程教学进程教学进程顺顺序程序序程序序程序序程序设计举设计举例例例例(续续)vv分分分分支支支支程程程程序序序序设设设设计计计计举举举举例例例例:设设设设内内内内存存存存中中中中有有有有三三三三个个个个互互互互不不不不相相相相等等等等的的的的无无无无符符符符号号号号字字字字数数数数据据据据,分分分分别存放在别存放在别存放在别存放在ARGARGARGARG开始的字单元,编制程序将其中最大值存入开始的字单元,编制程序将其中最大值存入开始的字单元,编制程序将其中最大值存入开始的字单元,编制程序将其中最大值存入MAXMAXMAXMAX单元。单元。单元。单元。分支程序分支程序分支程序分支程序设计设计vv教学进程教学进程教学进程教学进程vv5.2.25.2.25.2.25.2.2vvSSEGSSEGSSEGSSEG SEGMENTSEGMENTSEGMENTSEGMENTSTACKSTACKSTACKSTACKvvSTKSTKSTKSTKDBDBDBDB20202020DUP
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!