资源描述:
《ch08-汇编语言程序格式2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HYPer汇编语言程序格式主讲人:黄永平HYPer目录一、汇编语言概述二、汇编语言格式三、伪指令四、操作数字段五、汇编语言源程序的结构HYPer一、汇编语言概述机器语言计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。用机器语言编写的程序是计算机唯一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。HYPer一、汇编语言概述汇编语言为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所
2、以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序(汇编器,编译器)。HYPer一、汇编语言概述高级语言汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。目前广泛应用的高级语言有多种,如BASIC
3、、FORTRAN、PASCAL、C、C++、Java,C#等等。例出你所知道的计算机语言有哪些?HYPer一、汇编语言概述汇编语言的特点(1)汇编语言与处理器密切相关,可移植性差。(2)汇编语言程序效率高。(3)编写汇编语言源程序比编写高级语言源程序烦琐。(4)调试汇编语言程序比调试高级语言程序困难。HYPer一、汇编语言概述汇编语言的主要应用场合(1)程序执行占用较短的时间,或者占用较小存储容量的场合。(2)程序与计算机硬件密切相关,程序直接控制硬件的场合,实时控制。(3)需提高大型软件性能的场合(选一个好的C编译器可解决)。(4)没有合适的高级语言的场合。(OS中上下文保存等,如lin
4、ux)HYPer一、汇编语言概述汇编语言程序的建立及处理过程编辑程序汇编源程序xxx.ASM汇编程序MASM5.0TASMMASM32NotePadUtraEditNotepad++浮动目标文件xxx.OBJ连接程序可执行文件xxx.EXExxx.comLINKEmu8086---IDE仿真环境系统库lib系统.objHYPer二、汇编语言格式汇编语言中有三种基本语句:指令语句—汇编时,产生对应的机器目标代码。伪指令—汇编时,无目标代码,用于定义符号、分配内存、初始化存储器。宏指令—用宏名称来定义的一段指令序列。(如C中#define)HYPer二、汇编语言格式[标号:]机器指令助记符[操
5、作数][;注释]标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须紧跟冒号“:”。汇编指令机器指令指令助记符为语句的核心成分,表示了该语句的操作类型。操作数表示指令助记符的操作对象。指令语句格式(机器指令)注释均以分号开始,它可占一行或多行,一般放在一条语句的后面。next:MOVAX,BX;把BX内容送到AXHYPer二、汇编语言格式[符号名]伪指令助记符[操作数][;注释]常量名变量名过程名段名结构名记录名伪指令符指定汇编程序要完成的具体操作,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,假定伪指令ASSUME等。伪指令后面的操作数可
6、以是常数、字符串、变量、表达式等,其个数由具体的伪指令决定,各个操作数之间必须以“逗号”分隔。伪指令语句格式(汇编程序解释)伪指令的注释必须以“;”开始,其作用同指令语句中的注释部分。var1DW100;定义一个字变量var1,其值为100C中unsignedintegervar1=100;HYPer三、伪指令伪指令分类伪指令助记符符号定义EQU,=,LABEL数据定义(变量定义)DB,DW,DD,DT,RECORD,STRUC段定义SEGMENT,ENDS,GROUP,ASSUMEORG模块定义EXTRN,PUBLIC,NAME,END过程定义PROC,ENDP宏处理MACRO,END
7、M,LOCAL,REPT,IRPC,IRP,PURGE条件汇编IF,ENDIF,IF1,IF2,IFB,IFNB,IFE,IFDIF,IFDEF,IFNDEF,IFIDN,ELSE列表PAGE,TITLE,SUBTTL,LISTXLIST,%OUT其它COMMENT,RADIX,INCLUDE,EVENHYPer三、伪指令段定义伪指令(SEGMENT/ENDS)段名SEGMENT[定位类型][组合类型][字长类型][‘类