ImageVerifierCode 换一换
格式:PPT , 页数:39 ,大小:670.04KB ,
资源ID:10296325      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10296325.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(第4章-汇编语言知识.ppt)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第4章-汇编语言知识.ppt

1、单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2025/5/19 周一,1,第,4,章,8086/8088,汇编语言,汇编程序功能,汇编语言中的标记,伪指令,汇编语言程序格式,汇编语言程序返回,DOS,的方法,汇编语言程序生成的可执行文件结构,2025/5/19 周一,2,本章内容简介,在学习了第,3,章指令系统的基础上,本章提供用汇编语言编写各种实用程序的必要基础,包括汇编程序的功能、汇编语言语句的格式、汇编语言程序的结构、常用伪指令的功能等知识。,学完

2、本章后,我们就可以进行简单的汇编语言程序设计了。,2025/5/19 周一,3,4.1,汇编程序功能,汇编语言程序的建立及汇编过程,汇编程序的主要功能,检查出源程序的语法错误,并给出出错信息提示。,生成源程序的目标代码程序,也可给出列表文件。,汇编时遇到宏指令即展开。,2025/5/19 周一,4,汇编语言程序,汇编语言的基本思想是用一组字母、数字和符号来代替一条二进制码表示的指令,即用指令的助记符、符号地址、标号、伪指令等符号书写程序。,用这种汇编语言书写的程序称为汇编语言源程序。把汇编语言源程序翻译成在机器上能执行的机器语言程序(目标代码程序)的系统程序称为汇编语言。,2025/5/19

3、周一,5,汇编语言程序的处理过程,首先用编辑程序产生汇编语言的源程序,源程序是用汇编语言的语句编写的且不能为机器所识别的程序,所以要经过汇编程序加以翻译,因此汇编程序的作用就是把源文件转换成用二进制代码表示的目标文件(称为,OBJ,文件)。,在转换的过程中,如果源程序中有语法错误,则汇编结束后,汇编程序将指出源程序中的错误信息,如非法格式,未定义的助记符、标号,漏掉操作数等。,用户还可以用编辑程序来修改源程序中的错误,最后得到无语法错误的目标文件。,目标文件虽然已经是二进制文件,但它还不能直接上机运行,必须经过连接程序(,LINK,)把目标文件与库文件或其他目标文件连接在一起形成可执行文件(,

4、EXE,文件),才可以在机器上运行。,2025/5/19 周一,6,4.2,汇编语言中的标记,保留字,分界符,数值表示,2025/5/19 周一,9,汇编语言中可以出现的常数,二进制数,数字后跟字母,b,,如,1011b,十进制数,直接写数字,如,217,八进制数,数字后跟字母,O,,如,126O,十六进制数,数字后跟字母,H,,如,2A0H,字符和字符串,包含在单引号或双引号内,如“,HELLO”HELLO,2025/5/19 周一,10,4.3,伪指令,伪指令语句又称为说明语句或管理语句。它不同于指令语句,不是直接命令,CPU,去执行某一操作,而是命令汇编程序应当如何生成目标代码。,例如控

5、制汇编以实现数据定义、存储器分配、符号处理、模块之间的通信、源程序开始和指示程序结束等功能。,伪指令无相应的目标代码,因此也称为伪操作。伪指令格式与指令格式十分相似。,2025/5/19 周一,11,伪指令语句,表达式赋值伪指令,数据定义伪指令,LABEL,伪指令,段定义伪指令,过程定义伪指令,模块命名、程序开始和程序结束伪指令,模块通信伪指令,结构伪指令,STRUC,2025/5/19 周一,12,表达式赋值伪指令(,1,),EQU,伪指令,功能:给各种形式的表达式赋予一个名字,格式:表达式名,EQU,表达式,CR EQU 0DH ;,常数,A EQU ASCII-TABLE ;,变量,ST

6、R EQU 64*1024 ;,数值表达式,ADR EQU ES:BP+DI+5 ;,地址表达式,CBD EQU AAM ;,指令助记符,利用,EQU,伪指令,可以用一个名字代表一个数值,或用一个较简短的名字来代替一个较长的名字。,需要注意一个问题,,EQU,伪指令不允许对同一符号重复定义。,2025/5/19 周一,13,表达式赋值伪指令(,2,),“=”,伪指令,功能:与,EQU,类似,区别:,EQU,中表达式名不允许重复定义,而“,=”,允许重复定义。,2025/5/19 周一,14,数据定义伪指令(,1,),指令格式:,变量名,DB,表达式,变量名,DW,表达式,变量名,DD,表达式,

7、2025/5/19 周一,15,1,DB,(,Define byte,),DB,定义的变量类型为,BYTE,,给变量分配字节或字节串。,DB,伪指令定义符后面的操作数每个占有,1,个字节。,2,DW,(,Define word,),DW,定义的变量类型为,WORD,。,DW,伪指令定义符后面的操作数每个占有,1,个字,即,2,个字节。在内存中存放时,低位字节在前,高位字节在后。,3,DD,(,Define double word,),DD,定义的变量类型为,DWORD,。,DD,后面的操作数每个占有,2,个字,即,4,个字节。在内存中存放时,低位字在前,高位字在后。,2025/5/19 周一,

8、16,表达式可为如下几种情况:,常数表达式,不能超出范围,例如字节数据不能为,300,问号,(,?,),给变量保留相应的存储单元,而不赋与变量某个确定的初值。如:,SUM DB?,地址表达式,(,适用于,DW,和,DD),字符、字符串(适用于,DB,),重复子句,DUP,(表达式),当同样的操作数重复多次时,可用重复操作符“,DUP”,表示,其形式为:,n DUP(,初值,初值,),用逗号分开的上述各项,2025/5/19 周一,17,例,1,:,DAT1 DB 60h,8EH,DAT2 DW 550H,99H,DAT3 DD 7CEFH,画出内存数据分配示意图。,2025/5/19 周一,1

9、8,例,2,:定义一个包含,1-9,的平方值的内存表:,TABLE DB 1,4,9,16,25,36,49,64,81,画出内存数据分配示意图。,2025/5/19 周一,19,例,3,:操作数是字符串的情况:,STRING DB STUDENT,画出内存数据分配示意图。,2025/5/19 周一,20,例,4,:操作数用?保留空间,但不存入数据:,DAT1 DB,?,DAT2 DW 550H,?,1234H,画出内存数据分配示意图。,2025/5/19 周一,21,例,4,:操作数用,DUP,重复子句:,DAT1 DB 10 DUP(2),DAT2 DB 100 DUP(?),DAT3 D

10、B 3 DUP(12,3AH,78),画出内存数据分配示意图。,2025/5/19 周一,22,段定义伪指令(,1,),格式:段名,SEGMENT ,定位类型,组合类型,类别,语句体(段体),段名,ENDS,2025/5/19 周一,23,ASSUME,伪指令,它是用来说明逻辑段和物理段关系的伪指令,即告诉汇编程序在指令执行期间内存的哪一段是数据段,哪一段是堆栈段,哪一段是代码段。,ASSUME,段寄存器名,:,段名,段寄存器名,:,段名,例如:,ASSUME CS:CODE,DS:DATA,ASSUME CS:A,DS:B,ES:C;SS:D,2025/5/19 周一,24,过程定义伪指令(

11、1,),格式:过程名,PROC ,类型,过程体语句,RET,过程名,ENDP,2025/5/19 周一,25,过程定义伪指令(,2,),所谓过程就是一般汇编语言子程序。设置过程的目的是为了简化程序的设计,它是模块化程序设计的基础。过程只需定义一次,可在程序的不同地方多次调用,可减少由源程序产生的目标代码的长度。,8088,汇编用,CALL,指令启动过程,用,RET,指令结束过程调用。过程的调用和返回通过寄存器、堆栈或特定的内存单元完成主程序和程序之间的参数传递。,2025/5/19 周一,26,模块命名、程序开始和程序结束伪指令,模块结束伪指令,END,表示模块到此结束。,格式为:,END

12、标号,其中标号指示汇编程序开始执行的起始地址。如果多个模块连接,则只有主模块(通常为第一个模块)需使用标号,其它子模块只需用,END,而不必加标号。,模块的一般形式为:,NAME ,模块名,所有的语句,END ,启动标号或过程,2025/5/19 周一,27,4.4,汇编语言程序格式,名字项,操作项,操作数项,注释项,格式:,名字项,操作项,操作数项,;,注释项,2025/5/19 周一,28,名字项,标号,变量,标号及变量的,3,种属性,段,偏移,类型,2025/5/19 周一,29,名字项,这是给指令或某个存储单元地址所起的名字,可用下列字符来表示名字:,字母,A Z,,,a z,数字,

13、09,特殊字符,?,、,、,、,_,、,$,数字不能作名字项的第一个字符。而圆点仅能用作第一个字符,可以用很多字符来说明名字,但名字项最长为,31,个字符。,名字项可以是标号或变量。它们都用来表示本语句的符号地址,它是可有可无的,只有当需要用符号地址来访问该语句时它才需要出现。名字项分标号和变量两种情况,在程序中同样的标号或变量的定义只允许出现一次,否则汇编程序会指示出错。,2025/5/19 周一,30,操作项,操作项:,可以是指令、伪指令或宏指令的助记符。,对于指令,汇编程序将其翻译为机器语言指令,对于伪指令,汇编程序将根据其所要求的功能进行处理,对于宏指令,汇编程序则根据定义将其展开,2

14、025/5/19 周一,31,操作数项(,1,),算术运算符,+,、,-,、*、,/,和,MOD,逻辑运算符,AND,、,OR,、,XOR,、,NOT,关系运算符,EQ,、,NE,、,LT,、,GT,、,LE,、,GE,数值返回运算符,TYPE,、,LENGTH,、,SIZE,、,OFFSET,、,SET,属性运算符,PTR,、段操作符、,SHORT,、,THIS,、,HIGH,、,LOW,2025/5/19 周一,32,操作数项(,2,),操作符的优先级别,圆括号中的项,方括号中的项,结构变量,然后是,LENGTH,,,SIZE,和,WIDTH,名:,(段取代),PTR,,,OFFSET,,

15、SEG,,,TYPE,,,THIS,及段操作符,HIGH,和,LOW,乘法和除法:*,,/,,,MOD,,,SHL,,,SHR,加法和减法:,+,,,-,关系操作:,EQ,,,NE,,,LT,,,GT,,,LE,,,GE,逻辑运算:,NOT,逻辑运算:,AND,SHORT,2025/5/19 周一,33,注释项,汇编语句的注释部分不属于程序本身,即注释不会影响汇编产生的目标程序。,汇编过程中,汇编程序对注释不作任何加工,注释只是为阅读程序及编写文件方便,对语句和程序段的功能进行说明。,2025/5/19 周一,34,汇编语言源程序采用的是分段结构,即一个汇编语言源程序由若干段组成(一般由数据

16、段和代码段组成),每一个段以,SEGMENT,语句开始,以,ENDS,语句结束,整个程序的结尾是,END,语句。,在代码段中下面的内容是不可缺少的:,(1),定义段(使用,SEGMENT/ENDS,语句定义),(2),约定段寄存器和段的关系(即物理段和逻辑段的关系,使用一个或多个,ASSUME,语句实现),(3),装填段寄存器(只装填数据型段寄存器),(4),设置返回,DOS,的方法,汇编语言源程序的结构,2025/5/19 周一,35,例如:,MYDARA SEGMENT,;,定义数据段起始语句,;,定义数据,MYDATA ENDS,;,定义数据段终止语句,MYCODE SEGMENT,;,

17、定义代码段起始语句,ASSUME CS:MYCODE,DS:MYDATA,;,约定段寄存器和段的关系,START:,MOV AX,MYDATA,;,装填相应的段寄存器,MOV DS,AX,;,完成所需功能的程序段,MOV AH,4CH,;,设置返回,DOS,INT 21H,MYCODE ENDS,;,定义代码段终止语句,END START,;,程序结束,2025/5/19 周一,36,例:,编程实现多字节加法,如,S=3B74AC60F8H+20D59E36C1H,F8H,60H,ACH,74H,3BH,C1H,36H,9EH,D5H,20H,被加数、和,加数,DATA1,DATA2,2025

18、/5/19 周一,37,CODE SEGMENT,ASSUME CS,:,CODE,,,DS,:,DATA,START,:,MOV AX,DATA,MOV DS,AX,MOV CX,5,MOV SI,0,CLC,LOOPER,:,MOV AL,DATA2SI,ADC DATA1SI,,,AL,INC SI,DEC CX,JNZ LOOPER,MOV AH,4CH,INT 21H,CODE ENDS,END START,DATA SEGMENT,DATA1 DB 0F8H,60H,0ACH,74H,3BH,DATA2 DB 0C1H,36H,9EH,0D5H,20H,DATA ENDS,2025

19、/5/19 周一,38,例:,FIRST,字变量里存有,1234H,,,SECOND,字变量里存有,5678H,。将,FIRST,字变量和,SECOND,字变量相加,结果存至,THIRD,存储字中。,2025/5/19 周一,39,DATA SEGMENT,first dw 1234h,second dw 5678h,third dw?,data ends,code segment,assume cs:code,ds:data,start:mov ax,data,mov ds,ax,mov ax,first,add ax,second,mov third,ax,jmp$,code ends,end start,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服