ImageVerifierCode 换一换
格式:PPT , 页数:15 ,大小:60.50KB ,
资源ID:14119067      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

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

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

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

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

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

注意事项

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

汇编语言上机指导.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,汇编语言上机指导及示例、习题,汇编语言上机过程,一、上机前的软件准备:,MS-DOS,操作系统(如:,MSDOS6.22,MSDOS7.0,等)文本编辑器(如:,EDIT.COM,TURBO.EXE,TC.EXE,C.EXE,等)汇编程序(如:,MASM.EXE,ASM.EXE,等)连接程序(如:,LINK.EXE,等)调试程序(如:,DEBUG.EXE,等),二、汇编程序建立过程,:,通过,a.,建立汇编源程序,b.,编译为目标文件,d.,连接为可执行文件,c.,不通过,重新修改(语句错误),f.,不正确

2、用调试工具调试,重新修改(逻辑错误),e,运行,正确,g.,完成,三、现在对(二)的每一个标有字母的过程,(PROCEDURE),进行详细说明,PROCEDURE a:,建立汇编源程序(即:建立 文件名,.,asm,)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。将源程序代码录入计算机的方法很多,下面将介绍具体方法。,1.,通过,MD-DOS,自带的,EDIT.EXE,文本编辑器进行输入,在,DOS,提示符下键入,:EDIT,回车,这时如果你系统内可调用时,,EDIT,的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存

3、盘并给你输入的文件起一个文件名,形式:,filename.asm,;(其中,filename,为你起的文件名,由,1-8,个字符组成),,asm,是为汇编程序识别而必须加上去的,不可更改。存盘后在,DOS,下可用,DOS,命令,DIR,来查看,如果看到了所存的文件存在,就可以进行进程,b,。,2.,如果你的系统中没有,EDIT,,也可用你所熟悉的文本编辑器进行录入、编辑,如可用,c,语言和,pascal,语言的文本编辑器来编辑,最后将文件存为,filename.asm,的形式即可。,PROCEDURE b:,编译目标文件(即:编译为,.,obj,.,lst,.,crf,文件)这个过程计算机将把

4、你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。现介绍具体过程:在,DOS,提示符下键入,MASM filename,回车(注:你系统内的汇编程序为,MASM.EXE,如果你系统的汇编程序为,ASM.EXE,时,便将命令变为,ASM filename,回车。其中,filename,为你刚才在,PROCEDURE a,中建立的文件名)这时汇编程序的输出文件可以有三个(分别:,.,obj,.,lst,.,crf,),,便会出现三次提问,在这可以一路回车即可。下面显示的信息是源程序中的错

5、误个数,如果为,0,则表示顺利通过,就可进行进程,c,。但如果不为,0,就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。但如果错误太多还未等看清就显示过去了,可用如下命令形将错误信息存于一个你指定的文件,再用文本编辑器去查看。,MASM filename,filen,(,filen,为你起的一个没用过的文件名,用以存放出错信息)以后可查看,filen,来得到出错信息。,PROCEDURE c:,编译不通过,重新修改(错误类型:源程序语句不合法)在执行过,PROCEDURE b,后,如有出错信息时,就要我们自己按,PROCEDURE c,去做,而不能跳跃到,PROCEDURE d,去

6、如果强行执行,PROCEDURE d,将无任何有效结果。现在就开现找错吧!首先要清楚,在,PROCEDURE b,中检测出的错误均为每一条语句的语法或用法错误,它并不能检测出程序的逻辑设计(语句按排位置)错误,所以就要记好出错的行号。在记录行号后,就应再次执行,PROCEDURE a,,这时和操作应是打开已编好的源程序(以,EDIT,为例:在,DOS,提示符下键入:,EDIT,filename.asm,回车),依据行号进行修改并存盘,再次进行汇编,直至,PROCEDURE b,通过为止。便可继续向下执行,PROCEDURE d,。,下面给出一些常见出错信息,以便查对:,1,、,Registe

7、r already defined,汇编内部出现逻辑错误,2,、,Unknown symbol type,在符号语句的类型中,有些不能识别的东西,3,、,Symbol is multi-defined,重复定义一个符号,4,、,Symbol not defined,符号没有定义,5,、,Syntax error,语句的语法与任何可识别的语法不匹配,6,、,Symbol is reserved word,企图非法使用一个汇编程序的保留字,(,例:定义,add,为一变量,)7,、,Not proper align/combine type SEGMENT,参数不正确,8,、,One operand

8、 must be const,这是加法指令的非法使用,9,、,Operands must be same or 1 abs,这是减法指令的非法使用,10,、,Already have base register,试图重复基地址,11,、,Illegal size for item,引用的项的长度是非法的,(如:双字移位),12,、,Illegal register value,指定的寄存器值不能放入“,reg,”,字段,13,、,Must be AX or AL,某些指令只能用,AX,或,AL14,、,Improper use of segment,reg,段寄存器使用不合法(如:,mov,d

9、s,0,),15,、,Division by 0 or overflow,给出一个用,0,作除数的表达式,16,、,Value is out of range,数值大于需要使用的,17,、,CS register,illeal,usage,试图非法使用,CS,寄存器,18,、,DUP is too large for linkerDUP,嵌套太长,以至于从连接程序不能得到所要的记录,PROCEDURE d:,连接为可执行文件(即:连接为,.exe,或,.com,文件)在这个过程中一般没有意外,如果有也就是文件名打错了。形式:在,DOS,提示符下:,LINK filename,回车,PROCED

10、URE e:,运行编译好的可执行文件当,PROCEDURE d,通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按你所想象那样得出结果。在试运行期间,要尽量试一些临界状态,看 程序是否运行稳定、结果是否正确。如一切正常,便可进入,PROCEDURE g,了。可最怕的是不,OK,,程序产生一些莫名其妙的结果(你可不要以为是你的计算机不听你的指挥,其实它是在一丝不苟地按照你编的程序执行。我以前总以为我的计算机出了毛病),如果是在考场上这时千万不要慌,稳住自己的情绪,先不要看计算机,静几分钟(反正时间多得是)。这时就要用到最关键、最常用的一步了,进行,PROCEDURE f,。,PROC

11、EDURE f:,用调试工具调试,重新修改(逻辑错误)在这我将介绍用,DOS,中自带的调试程序,DEBUG.EXE,来进行程序调试、检查错误,.,首先我们要了解,DEBUG,的基本用法:,1,、用于调试程序时的输入格式:,DEBUG FILENAME.?,回车其中,FILENAME,是主文件名,,?,是扩展文件名,例如我们在此前已编译好了一个文件,它的名子为:,djx.exe,要对它进行调试时就在,DOS,提示符下打:,DEBUG,djx.exe,回车,便可见到,-,提示符,如无任何提示说明正确,可进行调试。,2,、,DEBUG,调试过程中用到的,DEBUG,命令介绍:(注:在指令中用,括起来

12、的内容可缺省),1)D(Dump),显示指定内存单元内容(一般用来看数据数的内容,即,DS,段):格式:,d,地址,从,地址,指定的内存单元显示,128,个字节的内容,地址,缺省时,显示上一个,DUMP,命令后面的内容,d,地址范围 显示指定范围内的内存内容。示例:,-d100,显示从,DS,段,100H,开始的内容(以十六进制显示),2)E(Enter),修改存储单元内容(一般在,DS,段)格式:,e,地址,数据,用给定的,数据,代替指定范围的存储单元内容,e,地址 修改一个指定内存单元的内容示例:,-e ds:200 djxFF00AA,就可将,DS,段从,200,开始至,205,的内容替

13、换为,64 6A 78 FF 00 AA3)G(GO),运行命令格式:,-g=,地址,断点地址,1,断点地址,2.,断点地址,10,从指定,地址,开始执行程序(如地址缺省从当前,CS:IP,开始),运行至,断点地址,1,停止,显示所有寄存器及标志位内容与下一条指令,如后面还有断点,可键入,g,继续执行。示例:,-g001a,则执行从当前,cs:ip,至,001a,的指令注意:地址设置必须从指令的第一字节设起。,4)T(Trace),执行一条语句格式:,-t=,地址,从指定,地址,起执行一条语句后停下来,显示所有寄存器内容及标志位的值与下一条指令。如,地址,缺省则从当前,CS,:,IP,开始执行

14、t=,地址,value,从指定地址起执行,value,条指令后停止。,5)P(proceed),执行一个循环,;,一个软中断或,call,子过程格式:,-p=,地址,n,示例,:,mov,ah,02h,mov,dl,41h,int,21h,此时用,:-p,回车后系统将显示一个字符,A,如果在这不用,P,而改用,T,那么系统将进入,INT 21H,的中断调用中,出不来,这时你会误以为你的程序编错了,一定注意,!6)R(register),显示并可修改寄存器内容格式:,-r,显示所有寄存器内容,-r,寄存器名 修改指定寄存器内容,(,可改:,AX,BX,CX,DX,SP,BP,SI,DI,CS

15、DS,ES,SS,PC,IP,F)7)U(Unassemble),反汇编格式:,-u,地址,从指定,地址,反汇编,32,个字节,若,地址,缺省则从当前地址汇编,32,个字节。,-u,地址范围 对指定范围内的存储单元进行反汇编以上是在调试程序中可能用到的,DEBUG,命令解释,,DEBUG,中还有其它命令,在检查程序中不会用到,就不再介绍了。,1 data segment2 out1 db Hello world3 ax db My name is DJX4 data,ens,56 code segment7 assume,cs:code;ds:data,8 lea dx,out19,mov,

16、ah,210,int,21h1112,mov,dl,0ah13,mov,ah,214,int,21h15,mov,dl,0dh16 moo ah,217,int,21h1819 lea,dx,ax,20,mov,ah,21,int,21h22 code ends,Microsoft(R)Macro Assembler Version 5.00Copyright(C)Microsoft Corp 1981-1985,1987.All rights reserved.Object filename,error.OBJ,:Source listing NUL.LST:Cross-reference

17、NUL.CRF:End of file encountered on input fileerror.ASM(23):warning A4085:End of file,no END directiveOpen segments:DATAerror.ASM(3):warning A4016:Reserved word used as symbol:AXerror.ASM(4):error A2105:Expected:instruction or directiveerror.ASM(16):error A2105:Expected:instruction or directiveerror.

18、ASM(19):error A2049:Illegal use of registerEnd of file encountered on input fileerror.ASM(23):warning A4085:End of file,no END directive 51566+406450 Bytes symbol space free2 Warning Errors4 Severe Errors,说明这个程序有错误,并在第,3,4,16,19,23,行有错,我们再执行,PROCEDURE c,去逐一检查第三行:,3 ax db My name is DJX,它的错误在于,AX,不能作

19、为变量名,更正:,3 out2 db My name is DJX,注意刚才我们定义,AX,为变量时在后面的程序中用过,变量,AX,在第,19,行,19 lea,dx,ax,在出错报告中也报第,19,行错,因为不能将,AX,的有效地址赋给,DX,更正:,19 lea dx,out2,这样一下就解决了两个错误第四行:,4 data,ens,这行为一个段的结束,但语句漏打了字母,更正:,4 data ends,第十六行:,16 moo ah,2,这行也是语句打错,更正:,16,mov,ah,2,第二十三行:出错信息:,error.ASM(23):warning A4085:End of file,

20、no END directive,说明本程序没有结束伪操作,更正:加入:在第七、八行加入地址标志:,start:,原,23 end start,执行,PROCEDURE a,将源程序修改如下:,data segmentout1 db Hello worldout2 db My name is DJXdata endscode segmentassume,cs:code;ds:data,start:lea dx,out1,mov,ah,2,int,21h,mov,dl,0ah,mov,ah,2,int,21h,mov,dl,0dh,mov,ah,2,int,21hlea dx,out2,mov,

21、ah,9,int,21hcode endsend start,再次进行,PROCEDURE b,进行编译,屏幕显示:,Microsoft(R)Macro Assembler Version 5.00Copyright(C)Microsoft Corp 1981-1985,1987.All rights reserved.Object filename,error.OBJ,:Source listing NUL.LST:Cross-reference NUL.CRF:51524+406492 Bytes symbol space free0 Warning Errors0 Severe Erro

22、rs,本程序在语句上已无错误。再执行,PROCEDURE d,连接为可执行文件,(link error,回车,),屏幕显示:,Microsoft(R)Overlay Linker Version 3.60Copyright(C)Microsoft Corp 1983-1987.All rights reserved.Run File ERROR.EXE:List File NUL.MAP:Libraries.LIB:LINK:warning L4021:no stack segment,这时,error.exe,可执行文件已存在,可以执行,PROCEDURE e,来运行看一看是否正确在,dos

23、提示符下键入:,error,回车,(,小心,!),屏幕显示:乱码,并死机。,reset My computer!,说明程序在逻辑上有错误,并且严重。这是就要用,PROCEDURE f,用调试工具调试,查找错误。在,DOS,提示符下键入:,debug,error.exe,回车屏幕出现,-,提示符,这时就可以用,DEBUG,的命令来找错误了,我首先用,d,命令来查看数据区和内容,发展所定义的两个字符串并不在,数据段的段首,而在数据段内的,100h,位置上,这时才想起,masm,有一个不成文的规定,那就是在定义完数据段后,所定义的变量均向后,100h,个单元,需要我们将,ds,段寄存器置位,在程序

24、的,start:,后面加上如下指令:,(,执行,PROCEDURE a),mov,ax,data,mov,ds,ax,再执行,PROCEDURE,b,PROCEDURE,d,PROCEDURE,e,来运行程序,屏幕显示:换行,My name is DJX,及乱码,并死机。(又要重新启动!)再次执行,PROCEDURE a,检查程序,发现:,1.,汇编语言有规定每个字符串应由,$,结尾,2.,在输出第一个串的语句中的,AH,子功能号应为,09H,将以上两点改正。再执行,PROCEDURE,b,PROCEDURE,d,PROCEDURE,e,来运行程序,屏幕显示:,Hello worldMy na

25、me is DJX,并死机,不能返回,DOS,原因分析,在程序中没有返回,DOS,的指令,更正:用,PROCEDURE a,来进行编辑:用,DOS 21H,中断的,4cH,子功能便可返回,DOS,,在,code ends,前加:,mov,ah,4ch,int,21h,再执行,PROCEDURE,b,PROCEDURE,d,PROCEDURE,e,来运行程序,屏幕显示:,Hello wordMy name is DJX,data segmentout1 db Hello world$out2 db My name is DJX$data endscode segmentassume,cs:code;ds:data,start:,mov,ax,data,mov,ds,ax,lea dx,out1,mov,ah,9,int,21h,mov,dl,0ah,mov,ah,2,int,21h,mov,dl,0dh,mov,ah,2,int,21hlea dx,out2,mov,ah,9,int,21h,mov,ah,4ch,int,21hcode endsend start,

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服