




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章汇编语言程序设计,主要内容:,汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计,4.1汇编语言源程序,了解:计算机的三种语言源程序的结构汇编语言语句格式,一、计算机设计语言,机器语言汇编语言高级语言,面向机器的语言,机器语言,汇编语言,高级语言,汇编程序,汇编语言源程序,用助记符编写,源程序的编译程序,汇编程序,汇编语言源程序,机器语言目标程序,汇编语言程序设计与执行过程,输入汇编语言源程序源文件.ASM汇编(编译)目标文件.OBJ链接可执行文件.EXE调试最终程序,二、汇编语言源程序结构,数据段名SEGMENT数据段名ENDS附加段名SEGMENT附加段名ENDS,堆栈段名SEGMENT堆栈段名ENDS代码段名SEGMENT代码段名ENDS,三、汇编语言语句格式,语句:标号:前缀助记符操作数,操作数;注释,指令的符号地址,标号后要有冒号,操作码,注释前加分号,标号、名字,标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。,操作码,指令码命令CPU要完成的操作伪指令助记符,指示汇编程序要完成的操作用来定义变量,分配存储单元指示程序开始和结束等,注释,用分号作为注释的开始用于说明程序或语句的功能,以便于阅读和理解,操作数,寄存器存储器单元常量变量或标号表达式,常量,数字常量字符串常量:用引号引起的字符或字符串例:A,ABCD,汇编时被译成对应的ASCII码41H,42H,43H,44H,变量,代表内存中的数据区,程序中视为存储器操作数变量的属性:段值变量所在段的段地址偏移量变量单元地址与段首地址之间的位移量。类型字节型、字型和双字型,五、表达式,算术运算逻辑运算关系运算取值运算和属性运算其它运算,算术运算和逻辑运算符,算术运算符+,-,*,/,MOD逻辑运算符AND,OR,NOT,XOR例:MOVAL,8AND4MOVAL,8+4-1,关系运算符,参与关系运算的必须是两个数值;关系不成立,结果为0;关系成立,结果为FFFFH。,EQNELTGTLEGE,取值运算符,OFFSET取得其后变量或标号的偏移地址SEG取得其后变量或标号的段地址,TYPE取变量的类型LENGTH取所定义存储区的长度SIZE取所定义存储区的字节数,取值运算符例,MOVAX,SEGDATAMOVDS,AXMOVBX,OFFSETDATALEABX,DATA,等价于,取值运算符例,若BUFFER存储区是用如下伪指令定义:BUFFERDW200DUP(0)则:TYPEBUFFER等于2LENGTHBUFFER等于200SIZEBUFFER等于400,属性运算符,属性运算符PTR用于指定其后存储器操作数的类型例:MOVBYTEPTRBX,12H,其它运算符,方括号:方括号中内容为操作数的偏移地址段重设符段寄存器名:用于修改默认的段基地址,4.2伪指令,由汇编程序执行的“指令系统”用于定义变量、分配存储区、定义逻辑段、指示程序开始和结束等,常用伪指令,数据定义伪指令符号定义伪指令段定义伪指令过程定义伪指令结束伪指令,一、数据定义伪指令,用于定义数据区中变量的类型格式:变量名伪指令助记符操作数,;注释,某些情况下可省略,可选,数据定义伪指令,伪指令助记符DB定义的变量为字节型DW定义的变量为字类型(双字节)DD定义的变量为双字型(4字节)DQ定义的变量为4字型(8字节)DT定义的变量为10字节型,数据定义伪指令例,DATA1DB11H,22H,33H,44HDATA2DW11H,22H,3344HDATA3DD11H*2,22H,33445566H,以上变量在内存中的存放形式,数据定义伪指令,伪指令的性质决定所定义变量的属性定义字符串必须用DB伪指令例:DATA1DBABCD,66H,A,B,C,D,41H,42H,43H,44H,66H,重复操作符,为一个数据区的各单元设置相同的初值格式:变量名伪指令助记符nDUP(初值,)例:DW20DUP(0)DB3DUP(22H,11H,?),随机数,用?预留存储空间,MEM1DB34H,A,?,?,?DW20DUP(?),预留40个字节单元,二、符号定义伪指令,格式:符号名EQU表达式操作:用符号名取代后边的表达式,不可重新定义例:CONSTANTEQU100VAREQU30H+99H,EQU说明的表达式不占用内存空间,三、段定义伪指令,说明逻辑段的起始和结束说明不同程序模块中同类逻辑段之间的联系形态,段定义伪指令,段名SEGMENT定位类型组合类型类别段名ENDS,说明逻辑段的起点,说明不同模块中同名段的组和连接方式,定位类型,PARA:段的起点从节边界开始(16个字节为1节)BYTE:段的起点从存储器任何地址开始WORD:段的起点从偶地址开始PAGE:段的起点从页边界开始(256个字节为1页),组合类型,与其它模块中的同名段在满足定位类型的前提下具有的组合方式:NONE:不组合PUBLIC:依次连接(顺序由LINK程序确定)COMMON:覆盖连接STACK:堆栈段的依次连接AT表达式:段定义在表达式值为段基的节边界MEMORY:相应段在同名段的最高地址处,段定义伪指令例,DATASEGMENTPUBLICCODEMEM1DB11H,22HDATAENDS,四、设定段寄存器伪指令,说明所定义逻辑段的性质格式ASSUME段寄存器名:段名,段寄存器名:段名,,五、结束伪指令,表示源程序结束格式:END标号,一个完整源程序结构例,DSEGSEGMENTDATA1DB1,2,DATA2DW1234HDSEGENDSESEGSEGMENTDB20DUP(?)ESEGENDSSSEGSEGMENTSTACKSTACKDB200DUP(?)SSEGENDS,一个完整源程序结构例,CSEGSEGMENTASSUMECS:CSEG,DS:DSEG,ES:ESEG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAX,ESEGMOVES,AXMOVAX,SSEGMOVSS,AXCSEGENDSENDSTART,源程序代码,六、过程定义伪指令,用于定义一个过程体格式:过程名PROCNEAR/FARRET过程名ENDP,过程入口的符号地址,P166例,七、其他伪指令,ORG段内程序代码或变量的起始偏移地址格式:ORG表达式例:ORG2000H,计算值为非负常数,4.3功能调用,DOS功能调用高级调用,操作系统提供BIOS功能调用低级调用,DOS功能调用,包含多个子功能的功能包,用软中断指令调用,中断类型码固定为21H各子功能采用功能号来区分,附录C,DOS功能调用,调用格式:MOVAH,功能号INT21H,1.从键盘输入单字符并显示,调用方法:MOVAH,01INT21H输入的字符在AL中,单字符输入例,GET_KEY:MOVAH,1INT21HCMPAL,YJZYESCMPAL,NJZNOJNZGET_KEYYES:NO:,交互式应答程序,2.从键盘输入字符串,AH功能号0AHDS:DX字符串在内存中的存放地址INT21H,定义字符缓冲区,用户自定义缓冲区格式:,0DH,N1,N2,整个缓冲区,最大键入字符数,实际键入字符数,输入字符串程序段,DAT1DB20,?,20DUP(?)LEADX,DAT1MOVAH,0AHINT21H,在数据段中定义,输入缓冲区,14H,?,20个字节,定义后的输入缓冲区初始状态:,52,例1把存放在内存单元MBIN中的16位二进制数转换为BCD码,并存放在MBCD开始的内存单元中。P188START:LEASI,MBINDIVCXMOVAX,SIINCDILEADI,MBCDMOVDI,DLMOVDX,0MOVDL,0MOVCX,0AHDIVCXDIVCXINCDIMOVDI,DLMOVDI,DLMOVDL,0INCDIDIVCXMOVDI,ALINCDIHLTMOVDI,DLMOVDL,0,53,不能用16位除以8位的因为:AX/CX的余数ALAX/CX的商AH只有8位CX中的数小,商有的超过8位,54,例2两个3字长度的二进制数分别存放在内存单元BUFF1、BUFF2中,试求和并存放在SUM开始的内存单元中。P187START:MOVSI,OFFSETBUFF1MOVDI,OFFSETBUFF2MOVBX,OFFSETSUMMOVCX,3CLCGOON:MOVAX,SIMOVBX,AXADCAX,DIINCBXINCSIINXBXINCSILOOPGOONINCDIHLTINCDI,55,例3把从MEM单元开始的100个16位无符号数从大到小的顺序排列。P179START:LEADI,MEMMOVDX,SIMOVBL,99MOVSI-2,DX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025新外研版初中英语七年级下册知识点归纳总结(复习必背)
- 广州花都城投产融商业投资有限公司招聘考试真题2024
- 跨境电商人才招聘解决方案
- 长治急救知识培训班课件
- 难点解析-人教版八年级物理上册第4章光现象章节练习试题(解析卷)
- 山东注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案(2025年)
- 难点解析-人教版八年级物理上册第5章透镜及其应用-透镜单元测试试卷(详解版)
- 2025年燃气经营企业从业人员专业考试考前模拟试题及答案
- 2025金属非金属矿山主要负责人和安全生产管理人员考试综合练习题及答案
- 2025年煤矿安全生产管理人员安全生产知识和管理能力考试测试题及答案
- 【历年真题】2018年10月00688设计概论自考试卷
- 2023年浙江国科大杭州高等研究院招聘12人笔试参考题库(共500题)答案详解版
- 2023第八届全国学生学宪法讲宪法活动竞赛题库(汇总)
- GJB9001C-2017国军标标准培训讲义
- 《妇产科学课件:宫颈癌的筛查与防治》
- 服务型制造标准体系建设指南(2023年)征
- GA/T 2060-2023法庭科学毛发中甲基苯丙胺等11种毒品及代谢物检验液相色谱-质谱法
- 工程监理大纲监理方案服务方案
- C型钢检验报告
- 主体结构验收方案(示范文本)
- 八年级美术PPT课件 荷兰后印象派画家梵高作品介绍 《向日葵》《吃土豆的人》《割耳朵后的自画像》
评论
0/150
提交评论