




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章汇编语言程序设计4.1汇编语言的基本语法,宏汇编语言及编程,汇编语言:一种面向机器的程序设计语言,是一种用符号表示的低级程序设计语言(机器语言的符号化描述)。宏汇编语言:增加伪、宏指令语句构成汇编语言程序设计语言。,汇编:汇编语言编写的程序不能由机器直接执行,必须经汇编程序翻译成机器语言程序。,4.1汇编语言的基本语法,列表文件(.LST文件)同时列出汇编语言源程序和机器语言目标程序的文件。交叉索引文件(.CRF文件)列出程序中使用的符号、变量和标号以及引用情况。,汇编过程,汇编与连接,4.1汇编语言的基本语法,宏汇编语句的基本格式,指令性语句由指令构成标号:操作码操作数;注释如:START:MOVAX,DATA;初始化数据段,指示性语句由命令(伪指令)构成名字/变量命令参数;注释如:DATASEGMENTAT2000H;数据段地址,4.1汇编语言的基本语法,数字常量:直接用数字进行表示的常量。二进制:10000100B、11110001020100B十进制:12356D十六进制:12ABH、0F56AH(字母打头必须前面补0,否则将出现汇编语法错误。)如:MOVAX,100DMOVBL,0FAHMOVCL,10101000B,常量、变量和标号,常量,4.1汇编语言的基本语法,符号常量:用标识符(常量名)表示的常量。符号命名规则:1)031个ASCII码字符2)AZ、az、09、?、$及下划线构成。3)?不能单独作为标识符。4)无独立的保留字及运算符。,常量、变量和标号,常量,4.1汇编语言的基本语法,常量、变量和标号,常量定义,常量名EQU(=)数值或字母例如:AAEQU30BB=1000HCCEQU10001010BDD=ABCMOVAX,AAMOVAL,AAMOVBX,BBMOVBH,BB;错BH将产生溢出,改善程序的可读性,程序的修改调试方便。“=”可重复定义EQU不可重复定义,4.1汇编语言的基本语法,常量、变量和标号,变量,内存单元地址的符号表示,存在地址的三个属性。,字节DB(8位)一个字节存贮单元字DW(16位)二个连续字节存贮单元双字DD(32位)四个连续字节存贮单元双字DQ(64位)8个连续字节存贮单元双字DT(80位)10个连续字节存贮单元,段属性:段地址,段寄存器的值偏移地址:段内地址。变量类型:变量所在存贮单元的类型,由存贮伪指令指定。,4.1汇编语言的基本语法,常量、变量和标号,变量定义,变量名存贮伪指令表达式1,表达式2,,例如:XDB0AHAAEQU1ABCHYDWAASTRDBABCD1234,12H,0ACH,重复子句表达式:NDUP(表达式)例如:AADB10DUP(0)BBDW5DUP(21*5),0DH,0AH,4.1汇编语言的基本语法,常量、变量和标号,标号,指令性语句存放地址的符号表示。同变量一样,存在三个与地址有关的属性,常用于指令的转移和子程序调用。,例如:MOVSI,100HMOVDI,200HMOVCX,10HLOOP1:MOVAL,SIMOVDI,ALINCSIINCDILOOPLOOP1;此处LOOP1不是保留字,标号定义,标号名:机器指令语句,表达式与运算符由操作数(常量、变量、标号)和运算符构成。在汇编时完成相应的运算(数字常数),(OBJ)目标程序中不存在表达式,应用程序的DEBUG调试中不可能看到任何表达式。,算术运算符+、*、/MOD除法取余运算10MOD3=1SHL左移运算21HSHL1结果42H,相当于乘2的操作。SHR右移运算84SHR2结果21H,相当于除4的操作。(SHL、SHR注意和相应的逻辑指令区别),表达式与运算符,关系运算符EQ、NE、LT、LE、GT、GE运算的结果为真用0FFFFH表示,否则为0。例如:MOVBX,(PORTLE5)AND20H)当POTR小于5为MOVBX,20H否则为MOVBX,0H,逻辑运算符AND、OR、NOT、XOR例如:ANDAL,86HAND0FHAND是指令。AND逻辑运算符,86HAND0FH=06H汇编后的指令是:ANDAL,06H,与逻辑运算指令不同,CPU不执行任何操作,汇编时运算,在目标程序中只是一个常数。,4.1汇编语言的基本语法,表达式与运算符分析运算符,4.1汇编语言的基本语法,求段基址SEG符号名MOVAX,SEGAASEGAA为立即寻址是AA的段地址,求符号名的类型值TYPE符号名MOVAL,TYPECC返回变量CC的类型的字节数。字节数据:TYPECC=1字数据:TYPECC=2双字数据:TYPECC=48字节数据:TYPECC=810字节数据:TYPECC=10标号:NEAR=0FFFFHFAR=0FFFEH,求偏移地址OFFSET符号名MOVSI,OFFSETBBOFFSETBB为立即寻址,是BB的偏移地址,表达式与运算符分析运算符,4.1汇编语言的基本语法,变量的元素个数LENGTH符号名DUP定义的变量的元素个数,否则=1如,BUFDWNDUP(?),LENGTHBUF=NXDD12345678H,LENGTHX=1求符号名分配的总字节数SIZE符号名返回变量的总字节数:SIZE=LENGTH*TYPE,例如:BUF1DBN1,N2,N3,N10BUF2DB10DUP(0)BUF3DW10DUP(?),OFFSETBUF1=0000HTYPEBUF1=1LENGTHBUF1=1SIZEBUF1=1,OFFSETBUF2=000AHTYPEBUF2=1LENGTHBUF2=10SIZEBUF2=10,OFFSETBUF3=0014HTYPEBUF3=2LENGTHBUF3=10SIZEBUF3=20,表达式与运算符属性运算符,4.1汇编语言的基本语法,定义类型算符PTR格式:类型PTR表达式类型BYTEWORDDWORD,例如:MOVBYTEPTRDI,12H;将DI定义为字节类型。MOVDI,12H;非法指令INCWORDPTRBX;字加1INCBYTEPTRBX;字节加1,当(BX)=1FFH时结果;不相同INCBX;非法指令BUFWDW1234H;BUF为字类型。MOVAH,BYTEPTRBUFW;将BUFW指定为字节类型。AH=34H,表达式与运算符属性运算符,4.1汇编语言的基本语法,指定新属型算符THIS格式:THIS类型指定下一个存贮单元的类型,与EQU(=)一起定义新变量。类型BYTEWORDDWORD,例如:XYZEQUTHISBYTE;XYZ为字节类型的变量ABCDW4321H,2255H;ABC为字类型的变量XYZ、ABC表示同一存贮单元,这一单元有两种类型。MOVSI,XYZ;将ABC的低8位21H送入SIMOVDI,ABC;将ABC字单元4321H送入DI单元。,为当前内存单元指定新的类型,不改变原来定义的类型。,指示性语句(伪指令),4.1汇编语言的基本语法,符号定义伪指令:EQU(=)格式:符号名EQU(=)表达式例如:COUNTEQU20ABC=21H+4MOVAL,COUNT;将20送ALMOVAL,ABC;将25H送AL,BEQU10;非法定义,如:A=3BEQU5;定义B=5A=10;重定义A为10,EQU不能重复定义,=可任意重复定义。,指示性语句(伪指令),4.1汇编语言的基本语法,指示性语句(伪指令),4.1汇编语言的基本语法,段定义伪指令的参数格式:段名SEGMENT定位类型组合方式类别名,定位方式:段的起始地址边界PAGE指定起始地址的低8位是0,称页边界XXXXXXXXXXXX00000000BPARA指定起始地址的低4位是0,称段边界(缺省)XXXXXXXXXXXXXXXX0000BWORD指定起始地址的低2位是0,称字边界XXXXXXXXXXXXXXXXXX00BBYTE指定起始地址为任意值。XXXXXXXXXXXXXXXXXXXXB(PARA为缺省方式),指示性语句(伪指令),4.1汇编语言的基本语法,段定义伪指令的参数格式:段名SEGMENT定位类型组合方式类别名,组合方式:连接程序时设定本段与其它段的连接方式。(模块化程序设计)PUBLIC:同名段依次连接起来,形成一个连续的段。COMMON:同名段共用同一段起始地址,相互重叠段的长度,为最长的段的长度。AT表达式:定位在表达式所指定的段地址。(代码段例外)STACK:同名段构成一个连续的堆栈段,自动初始化SP。MEMORY:表示本段定位在所有段的地址之上,高地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字笔顺的课件
- 汉字的构造及分类课件
- 广东省肇庆市2024-2025学年高二下学期期末考试物理试题(含答案)
- 工厂车间承包合同(5篇)
- 2024-2025学年广东省揭阳市普宁市二中七年级(下)第一次月考数学试卷(含答案)
- 《史记》的当代价值转换知到智慧树答案
- 年度个人先进工作总结
- 《Android移动应用开发基础》知到智慧树答案
- 能源环保产业前景分析报告
- 2024年秋新北师大版数学一年级上册 第四单元 一起做游戏 教学课件
- 2025版《折弯机安全操作规程》全
- 2024版标准性二手车贷款合同模板(含车况鉴定)3篇
- 孕期阴道炎的健康宣教
- DB32-T 4467-2023 南美白对虾小棚养殖尾水生态化处理技术规程
- 31个工种安全技术交底
- 人工智能概论课件完整版
- 管道承诺质量保证书范本
- 门窗订购电子合同模板
- 渠道衬砌施工方案(渠道预制混凝土块)
- 台州市开发投资集团有限公司招聘笔试题库2024
- 达州事业单位笔试真题2024
评论
0/150
提交评论