汇编语言及汇编程序设计.pptx
《汇编语言及汇编程序设计.pptx》由会员分享,可在线阅读,更多相关《汇编语言及汇编程序设计.pptx(59页珍藏版)》请在咨信网上搜索。
1、微机原理及应用微机原理及应用主讲教师主讲教师 陈陈 玮玮广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计2第四章第四章 汇编语言及汇编程序设计汇编语言及汇编程序设计一、一、概述概述二、二、伪指令伪指令三、三、表达式及运算符表达式及运算符四、宏指令四、宏指令五、五、汇编语言程序的上机过程汇编语言程序的上机过程六、六、汇编程序的设计过程汇编程序的设计过程七、七、汇编程序基本设计方法汇编程序基本设计方法八、八、系统功能调用系统功能调用 例题例题作业作业广东工业大学广东工业大学 自动化学院
2、自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计3一、概述一、概述 汇编语言是一种面向汇编语言是一种面向CPU指令系统的程序设计语指令系统的程序设计语言。指令格式言。指令格式:1 1、标号标号是指该指令的符号地址,以冒号结束;是指该指令的符号地址,以冒号结束;2 2、用助记符表示操作码,是指令名称的代表符号,、用助记符表示操作码,是指令名称的代表符号,是语句中的关键字,不可缺省;是语句中的关键字,不可缺省;广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4
3、章章 汇编语言及汇编程序设计汇编语言及汇编程序设计4一、概述一、概述(续上页续上页)3、用符号代表操作数或操作数地址。、用符号代表操作数或操作数地址。操作数是本指操作数是本指令执行需要的数据。令执行需要的数据。有些指令不需要指明操作数,有些指令不需要指明操作数,可以默认;有些指令需要两个操作数;还有些操作数可以默认;有些指令需要两个操作数;还有些操作数可以用表达式。可以用表达式。4、注释项是可选项,用分号开始。、注释项是可选项,用分号开始。广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程
4、序设计5一、概述一、概述(续上页续上页)用汇编语言编写的程序称为源程序,常用的汇编用汇编语言编写的程序称为源程序,常用的汇编程序有程序有ASM-86和宏汇编和宏汇编MASM-86。汇编语言源程序的组成部分汇编语言源程序的组成部分:可以使用可以使用CPU指令系统指令系统所提供的指令所提供的指令(硬指令硬指令);可以使用各种可以使用各种符合汇编语法符合汇编语法的表达式,的表达式,运算运算符以及自行定义生成满足需要的目标代码的指令。符以及自行定义生成满足需要的目标代码的指令。广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言
5、及汇编程序设计汇编语言及汇编程序设计61、标号、标号 8086/8088汇编语言中使用的标号必须遵循下列汇编语言中使用的标号必须遵循下列规则:规则:(1)大小写字母;大小写字母;(2)数字数字09;(3)某些特殊字符(某些特殊字符(,_,?)(4)第一个字符不能是数字,第一个字符不能是数字,“?”不能单独作为标不能单独作为标号。号。(5)标号的有效长度是标号的有效长度是31;有效标号有效标号:START MY_PROGRAM 无效标号无效标号:MAIN%1BETA广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编
6、程序设计汇编语言及汇编程序设计7二、伪指令二、伪指令 伪指令是告诉汇编程序生成目标代码的指令语伪指令是告诉汇编程序生成目标代码的指令语句。句。1、符号定义伪指令符号定义伪指令 2、内存数据定义伪指令内存数据定义伪指令 3、段定义伪指令、段定义伪指令 4、段寄存器说明伪指令、段寄存器说明伪指令 5、定位伪指令定位伪指令 6、子程序伪指令子程序伪指令广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计81、符号定义伪指令、符号定义伪指令 (1)EQU伪指令伪指令 (2)等号等号(赋值赋值)
7、伪指令伪指令 (3)解除符号定义伪指令解除符号定义伪指令广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计9(1)EQU伪指令伪指令伪指令格式伪指令格式:EQU 指令功能指令功能:给符号名赋值。符号名可以由程序员取给符号名赋值。符号名可以由程序员取定,定,表达式应该是可以计算得出一个具体值。例表达式应该是可以计算得出一个具体值。例:PORT EQU 88H;定义符号定义符号PORT代表代表88H DATA EQU PORT+2;定义符号定义符号DATA代表代表;PORT+2注意注意:
8、用用EQU定义的符号,不能重新再定义,除非用定义的符号,不能重新再定义,除非用PURGE伪指令解除;伪指令解除;如果在表达式中用了其他符号,必须事先定义。如果在表达式中用了其他符号,必须事先定义。广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计10(2)等号等号(赋值赋值)伪指令伪指令伪指令格式伪指令格式:=指令功能指令功能:与与EQU类似,唯一的区别是类似,唯一的区别是“=”可以可以随时对符号名赋新值,随时对符号名赋新值,而不必使用而不必使用PURGE伪指令。伪指令。例例:POR
9、T=88H;定义符号定义符号PORT代表代表88HDATA=PORT+2;定义符号定义符号DATA代表代表PORT+2广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计11(3)解除符号定义伪指令解除符号定义伪指令伪指令格式伪指令格式:PURGE 符号符号1,符号符号2,指令功能指令功能:撤消用撤消用EQU赋值的符号名,赋值的符号名,以便于赋予以便于赋予新值。新值。例例:PURGE PORT,DATA;撤消用撤消用EQU对对PORT、;DATA的赋值的赋值广东工业大学广东工业大学 自
10、动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计122、内存数据定义伪指令、内存数据定义伪指令格式格式:变量变量 命令命令 参数参数1,参数参数2,功能功能:数据定义语句用来分配存储单元。数据定义数据定义语句用来分配存储单元。数据定义语句的语句的命令命令有有:DB 定义字节数据定义字节数据 DW定义字数据定义字数据 DD定义双字数据定义双字数据 DQ定义定义8字节数据字节数据 DT定义定义10字节数据字节数据广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一
11、周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计132、内存数据定义伪指令、内存数据定义伪指令复制操作符复制操作符 格式格式:DUP 数据数据1,数据,数据2,功能功能:汇编程序把所定义的数据按先后次序连续:汇编程序把所定义的数据按先后次序连续分配存储空间,所起的名称只代表第一个单元的字分配存储空间,所起的名称只代表第一个单元的字符。符。例题例题广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计142、内存数据定义伪指令、内存数据定义伪指令例例:VAR1 DB 32H,A
12、BCVAR2 DW 1234H,40H,AB DD 12345678H DB?,11000011BARRY1 DB 2 DUP(0,1)ARRY2 DW 2 DUP(?,(?,1)广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计15三、表达式及运算符三、表达式及运算符 在汇编语言中,指令的操作数除了可以是常数、在汇编语言中,指令的操作数除了可以是常数、寄存器、变量和标号外,还可以是表达式。寄存器、变量和标号外,还可以是表达式。表达式表达式是由常数、寄存器、变量、标号和专用是由常数、
13、寄存器、变量、标号和专用运算符组合而成。运算符组合而成。在程序汇编时,汇编程序自动把这些表达式计在程序汇编时,汇编程序自动把这些表达式计算出来,形成具体的指令操作数。算出来,形成具体的指令操作数。1、常数、变量和标号常数、变量和标号 2、表达式及运算符表达式及运算符返回广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计161、常数、变量和标号、常数、变量和标号常数常数 包括数值型常数和字符型常数。包括数值型常数和字符型常数。如:如:12H,1234H,AB变量变量 变量代表存放在存储
14、单元中的数据。变量代表存放在存储单元中的数据。定义后的变量有三个属性:定义后的变量有三个属性:(1)段属性表示变量所在的逻辑段;段属性表示变量所在的逻辑段;(2)偏移量属性表示变量所在逻辑段中的偏移地址;偏移量属性表示变量所在逻辑段中的偏移地址;(3)类型属性表示变量占用的存储单元数,类型属性表示变量占用的存储单元数,DB、DW、DD、DQ、DT。广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计171、常数、变量和标号、常数、变量和标号标号标号 是指令目标代码的符号地址。是指令目标
15、代码的符号地址。在转移指令中常用标号代替具体转移地址,标号在转移指令中常用标号代替具体转移地址,标号的使用使编写汇编语言程序时,不必考虑程序汇编、的使用使编写汇编语言程序时,不必考虑程序汇编、连接后系统分配给指令代码的实际地址。连接后系统分配给指令代码的实际地址。标号同样有三个属性:标号同样有三个属性:(1)段属性表示指令代码所在的逻辑段;段属性表示指令代码所在的逻辑段;(2)偏移量属性表示指令代码所在的逻辑段中的偏移量属性表示指令代码所在的逻辑段中的偏移地址;偏移地址;(3)距离属性表示标号可作段内转移或段间转移距离属性表示标号可作段内转移或段间转移(NEAR、FAR)。)。广东工业大学广东
16、工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计18 2、表达式及运算符、表达式及运算符表达式表达式由操作数和运算符组成。由操作数和运算符组成。其中,操作数可以是常数、变量、寄存器和标其中,操作数可以是常数、变量、寄存器和标号。号。运算符包括算术运算符、逻辑运算符、关系运运算符包括算术运算符、逻辑运算符、关系运算符、分析运算符和属性运算符五类运算。算符、分析运算符和属性运算符五类运算。注意:运算符的先后次序注意:运算符的先后次序。广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系
17、 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计19五、汇编语言程序的上机过程五、汇编语言程序的上机过程 建立汇编语言的环境,典型的汇编语言开发环建立汇编语言的环境,典型的汇编语言开发环境都包含境都包含4种工具:种工具:1、编辑程序编辑程序 2、汇编程序汇编程序 3、连接程序连接程序 4、汇编程序的上机过程汇编程序的上机过程广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计201、编辑程序、编辑程序 (1)编辑程序是用来输入汇编语言源程序
18、的工具,编辑程序是用来输入汇编语言源程序的工具,包括包括EDIT.EXE,EDLIN.EXE等;等;(2)汇编语言是以文本格式保存的;汇编语言是以文本格式保存的;(3)汇编程序的源程序必须以汇编程序的源程序必须以ASM作为作为扩展名扩展名;(4)输入和编辑源程序时必须遵循汇编语言的语输入和编辑源程序时必须遵循汇编语言的语法规定。法规定。汇编程序的基本结构汇编程序的基本结构 例题例题 实际操作实际操作:编辑源程序编辑源程序 TEST11.ASM广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编
19、程序设计21汇编程序的基本结构汇编程序的基本结构DATAA SEGMENT ;数据段内定义各类程序执行需要的相关的数据数据段内定义各类程序执行需要的相关的数据DATAA ENDSSTACKA SEGMENT ;根据具体程序的需要,定义堆栈段供程序执行过程根据具体程序的需要,定义堆栈段供程序执行过程 ;中保持临时数据;中保持临时数据STACKA ENDSCODEA SEGMENT ASSUME CS:CODEA,DS:DATAA,SS:STACKA START:MOV AX,DATAA MOV DS,AX ;完成具体操作的指令序列完成具体操作的指令序列CODEA ENDS END START广东
20、工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计22实际操作实际操作(实现实现X+YZ,源程序文件名源程序文件名:TEST11.ASM)DATA1 SEGMENT;数据段数据段 X DB 05H Y DB 04H Z DB?DATA1 ENDSCODE1 SEGMENT;代码段代码段 ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA;数据段基址数据段基址AX MOV DS,AX;AX DS MOV AL,X;内存单元内存单元X的数据的数据AL ADD AL
21、,Y;内存单元内存单元Y的数据的数据+ALAL,即即X+Y AL MOV Z,AL;AL内存单元内存单元Z,即求和结果送回即求和结果送回Z MOV AH,4CH;送功能号送功能号 INT 21H;系统功能调用,返回操作系统系统功能调用,返回操作系统 CODE1 ENDS END START广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计232、汇编程序、汇编程序 (1)汇编程序汇编程序用来把源程序翻译成机器码,用来把源程序翻译成机器码,包括包括ASM.EXE,MASM.EXE;(2
22、)汇编程序翻译源程序,汇编程序翻译源程序,产生一个目标代码文产生一个目标代码文件,与源程序文件名相同,扩展名为件,与源程序文件名相同,扩展名为OBJ。实际操作实际操作:产生目标文件产生目标文件TEST11.OBJ广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计243、连接程序、连接程序 通过汇编产生的是通过汇编产生的是OBJ文件是二进制目标文件,文件是二进制目标文件,但用的是浮动地址,但用的是浮动地址,不能直接运行,不能直接运行,必须用连接程必须用连接程序序LINK.EXE连接和定
23、位。连接和定位。实际操作实际操作:产生可执行文件产生可执行文件TEST11.EXE广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计254、汇编程序的上机过程、汇编程序的上机过程实际操作演示实际操作演示广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2024/8/26 周一周一第第4章章 汇编语言及汇编程序设计汇编语言及汇编程序设计26data1 segment;数据段开始数据段开始x db 05hy db 04hz db?buff db 5+4=$;定
24、义一个数据串,数据串规定以定义一个数据串,数据串规定以$结尾,结尾,为了显示为了显示5+4=data1 endscode1 segment;代码段开始代码段开始 assume cs:code1,ds:data1;段寄存器说明伪指令段寄存器说明伪指令start:mov ax,data1;将数据段基址将数据段基址ax mov ds,ax;axds mov al,x;内存数据内存数据xal add al,y;内存数据内存数据Y+alal,即即X+Y al mov z,al;alZ,即即X+Y Z lea dx,buff;装载装载 buff的有效地址的有效地址 mov ah,09h;送功能号送功能号
25、int 21h;系统功能调用,显示屏显示字符串系统功能调用,显示屏显示字符串5+4=mov dl,z;将将z送送dl add dl,30h;将将z的值转换成对应的的值转换成对应的ASCII码值码值 mov ah,02h;送功能号送功能号 int 21H;系统功能调用,系统功能调用,将将x+y的和的和z以单字符形式在显示屏上显示出来以单字符形式在显示屏上显示出来 mov ah,4ch;送功能号送功能号 int 21h;系统功能调用,返回系统功能调用,返回DOS状态状态code1 ends end start 返回广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮202
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 汇编程序 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。