汇编语言程序设计及上机指导5汇编语言语法

汇编语言程序设计及上机指导5汇编语言语法

ID:39778997

大小:2.19 MB

页数:51页

时间:2019-07-11

汇编语言程序设计及上机指导5汇编语言语法_第1页
汇编语言程序设计及上机指导5汇编语言语法_第2页
汇编语言程序设计及上机指导5汇编语言语法_第3页
汇编语言程序设计及上机指导5汇编语言语法_第4页
汇编语言程序设计及上机指导5汇编语言语法_第5页
资源描述:

《汇编语言程序设计及上机指导5汇编语言语法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章汇编语言语法【本章提要】本章以Intel系列微处理器的指令系统和宏汇编工具MASM6.X为主体,介绍汇编语言的基本语法和伪指令,实现简单的汇编语言程序设计。【学习目标】·熟练掌握进行汇编语言程序设计的基本语法·熟练掌握伪指令以及宏结构的应用·熟练掌握利用MASM6.X工具对程序进行汇编的具体方法指令:是可执行的,汇编后由相应的机器代码所取代;伪指令:是不可执行的,只是在源程序汇编期间由汇编程序处理的命令,指示汇编程序为数据分配内存空间,或者提供段定义等信息,不产生任何机器代码源程序可执行文件目标模块文本编辑器汇编程序连接程序调试程序

2、机器语言:计算机能够直接识别与执行高级语言:是完全独立于机器的通用语言,效率低,面向过程、面向对象,必须译成机器语言。汇编语言:符号化语言。用指令的助记符、符号地址、标号等编写程序的语言。5.1概述2021/9/145.1.1汇编语言程序的基本概念指令与伪指令的集合构成汇编语言语句.MODELSMALL;定义内存工作模式为小模式.386;定义指令系统为80386指令集.STACK;定义1K个字节的堆栈段.DATA;数据段开始DATA1DD12340000H;定义第一个32位数据的值为12340000HDATA2DD5678H;定义第二个3

3、2位数据的值为5678HSUMDD?;定义用来存放前两个数据之和的第三个数据.CODE;代码段开始,数据段结束.STARTUP;程序开始MOVEAX,DATA1;取第一个数到EAXADDEAX,DATA2;求和MOVSUM,EAX;保存结果(12345678H)至SUM.EXIT0;程序结束,正常返回到操作系统END;结束汇编2021/9/145.1.2汇编语言的基本语法一、字符集英文字符:A~Za~z数字字符:0~9算术运算符:+-*/关系运算符:<=>分隔符:,(逗号);(分号)()(括号)[]'(引号)(空格)TAB(制表符)控制符

4、:CR(回车)LF(换行)FF(换页)其它字符:$&_(下划线)?·@%!二、标识符1)标识符的第一个字符必须是字母、问号“?”、“@”符、或下划线“_”;2)从第二个字符开始可以是字母、数字、或“?”、“@”、“_”;3)一个标识符的长短可以由1~31个字符组成。例如:X,GAM_31,?JACK5是正确的;而8P,DATA8是不正确的。2021/9/14三、保留字寄存器名、指令助记符、伪操作命令、表达式运算符,以及属性操作符等都是系统专用的保留字。这些保留字是不能用作标识符的。四、语句一条语句一般只占一行,超过一行时必须用续行符号“

5、”指示两条语句不能写在同一行。语句可以有注释,一般写在语句之后或单独占一行,是以“;”开始的字符串。2021/9/145.2汇编语言的数据和表达式汇编语言能识别的数据是常量、变量和标号。5.2.1常量常量是汇编时已经确定的值,主要用于伪指令中给变量赋值,或作为指令语句中的立即数或存储器操作数的组成部分。一.常量的类型数据形式格式×取值范围举例注释二进制数×…×B0~110010011B二进制数以B结尾八进制数×…×Q0~7123Q八进制数以Q结尾十进制数×…×D0~9256D,3458十进制数以D结尾或者缺省十六进制数×…×H0~9A~F

6、0A3H,12345H十六进制数以H结尾,最前面必须是0~9字符或字符串'×…×'ASCII字符'ABC'两端必须加’或”2021/9/14二.符号定义伪指令用于给程序中多次出现的同一个常量或表达式赋一个符号名,也可以为其它符号名取一个新名字,并赋给新的类型属性。(1)EQU伪指令例:FIRSTEQU1;定义常数SECONDEQUFIRST*3+8;定义数值表达式ADDR1EQUDS:[EBP+4];定义地址表达式DWORDSEQUTHISDWORD;定义下面的字节变量为双字类型BYTESDB10DUP(0)ADDR2EQUWORDPTR

7、BYTES;重新定义变量BYTES的名字和属性START:MOVEAX,EBXGOONEQUFARPTRSTART;重新定义标号START的名字和属性COUNTEQUECX;为ECX重新取名注意:该等值语句只作为符号定义用,不产生任何目标代码,也不占用存储单元,并且不能是程序中曾经定义过的符号名。2021/9/14(2)“=”伪指令“=”伪操作命令与EQU具有相同的功能,但它定义的符号允许重新定义。例:PERSON=10;定义PERSON等于10PERSON=PERSON+5;重新定义PERSON等于152021/9/145.2.2变量变

8、量的值可以在程序运行过程中可随时修改,变量名是存放数据的存储单元符号地址,变量的值为对应存储单元的内容。一.变量的属性•段属性(SEG),指变量所在段的段基址。•偏移地址属性(OFFSET),

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

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

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