微机原理与应用 (6).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:43 大小:361KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理与应用 (6).pdf

微机原理与应用(6).pdf

预览

免费试读已结束,剩余 33 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理及应用主讲:谢维成http://xweicheng.ys168.comscxweicheng@yahoo.com.cn第4章汇编语言程序设计•汇编语言的格式•语句行的构成•指示性语句•指令语句•汇编语言程序设计及举例4.1汇编语言的格式(P111、P99<3>)8086汇编语言程序举例MY_DATASEGMENTSUMDB?MY_DATAENDSMY_CODESEGMENTASSUMECS:MY_CODE,DS:MY_DATAPORT_VALEQU3MAINPROCFARGO:PUSHDSMOVAX,0PUSHAXMOVAX,MY_DATA4.1汇编语言的格式MOVDS,AXMOVSUM,0CYCLE:CMPSUM,100JNANOT_DONEMOVAL,SUMOUTPORT_VAL,ALHLTNOT_DONE:INAL,PORT_VALADDSUM,ALJMPCYCLE4.1汇编语言的格式RETMAINENDPMY_CODEENDSENDGO1、汇编语言源程序是分段的,通常每个模块程序包括数据段、堆栈段和若干代码段。2、每个程序结构类似,可以复制。4.2语句行的构成指令性语句,其格式为:标号:(前缀)指令助记符操作数;注释GO:PUSHDS指示性语句,又叫伪指令,其格式为:变量伪指令操作数;注释SUMDB?4.2语句行的构成4.2.1标记(P112)机器语言—用二进制数来表示指令和数据.B064什么意思?这就是机器语言。既不直观,又不易理解和记忆.MOVAL,64H;大家很清楚,这就是助记符。助记符—反映指令的功能和主要特征,便于人们理解和记忆。返回4.2语句行的构成指令除了操作码以外,还有一个操作数问题。操作数可能放在存储器中,这就涉及一个地址问题。程序中遇到转移指令或调用指令,涉及地址转移,若采用具体地址就不很方便,一旦有错改动就很麻烦。于是人们采用标号或符号来代替地址,例:LP1:…┇LOOPLP1汇编语言—用助记符,符号地址以及标号等符号书写的程序。用汇编语言编写的程序叫源程序。返回4.2语句行的构成汇编:汇编源程序需翻译成机器语言,变成可执行文件,机器才能执行,这个翻译过程叫汇编。汇编语言是面向具体计算机硬件的语言,和机器密切相关。它最大缺点是可读性差,编程效率低。高级语言—编程时不需要对机器指令系统有深入了解,稍加培训即可掌握。可读性强,功能强。为什么要用汇编语言?汇编语言编写的程序节省内存,执行速度快,并为用户直接控制对象提供了手段。故实时性要求很高的程序多采用汇编语言程序。4.2语句行的构成操作码:是一个助记符,它可以是指令、伪指令(又叫伪操作)或宏指令。操作数:由寄存器、存储单元、数据项或其表达式构成。汇编时一个表达式得到一个值。注释:用来说明程序或语句的功能,用分号;作为注释开始。其中名字和注释视情况而定,可有可无.4.2语句行的构成1、源程序源程序通常由一个或几个程序模块组成,每个模块包括数据段、堆栈段和若干代码段。代码段可有若干个过程,过程中的语句分为两类:指令性语句,其格式为:标号:(前缀)指令助记符操作数;注释指示性语句,又叫伪指令,其格式为:变量伪指令操作数;注释4.2语句行的构成2、指令性语句指令性语句是计算机可执行的,而指示性语句不能执行,用来定义变量,分配存储单元,指示程序开始和结束等。这两种语句的差别:在形式上:带不带冒号,是否可转向它.在本质上:汇编时能否形成对应的机器码.4.2.1标记-4.2.2符号数据项数据项包括常量、变量、标号及表达式,下面分别加以介绍。1.常量(1)数字常量二进制常量,以B结尾十进制常量,以D结尾或省略(汇编语言中默认无标记数为十进制数)十六进制常量,以H结尾,如0A8C6H.4.2.1标记-4.2.2符号(2)字符串常量用引号引起来的字符或字符串也代表常数。例:’A’,’BCDE’,汇编时被翻译成对应的ASCII码41H和42H,43H,44H,45H。返回4.2.1标记-4.2.2符号2.变量变量是内存中的数据区,在程序中作为存储器操作数来使用。如例子中BLOCK(在数据段中定义)变量有三种属性:①段值—变量定义所在段的段地址②偏移量—变量单元地址与段起始地址之间的位移量。③类型—有字节、字和双字三种。4.2.1标记-4.2.2符号标号标号是某条指令所存放单元的符号地址,可作为转移指令或CALL指令的转移地址。