首页 汇编语言上机过程

汇编语言上机过程

举报
开通vip

汇编语言上机过程附加1用DEBUG验证程序段通常汇编教学中,汇编程序结构会在指令系统后面讲,学生在学习指令系统时由于没有讲汇编程序结构而无法编写汇编程序来加深对汇编指令的理解,因此,在这里我们通过2个例子,介绍使用DEBUG调试工具编写程序段来学习汇编指令。有关DEBUG的常用命令的用法请参看《现代微机原理与接口技术》教材的附录A.2.4题目:非压缩BCD码的减法运算,做68-9movax,0608hmovbl,09hsubal,blaas运行debug首先用A命令输入程序Debug中只使用16进制数,且无需加H后缀直接用回车退出...

汇编语言上机过程
附加1用DEBUG验证程序段通常汇编教学中,汇编程序结构会在指令系统后面讲,学生在学习指令系统时由于没有讲汇编程序结构而无法编写汇编程序来加深对汇编指令的理解,因此,在这里我们通过2个例子,介绍使用DEBUG调试工具编写程序段来学习汇编指令。有关DEBUG的常用命令的用法请参看《现代微机原理与接口技术》教材的附录A.2.4题目:非压缩BCD码的减法运算,做68-9movax,0608hmovbl,09hsubal,blaas运行debug首先用A命令输入程序Debug中只使用16进制数,且无需加H后缀直接用回车退出汇编编辑状态使用T命令跟踪执行第一个T命令要带上程序首地址后面的T命令无需地址标志位当前指令执行后的各寄存器的结果这是还未执行的下一条指令的反汇编这是还未执行的下一条指令的地址和指令码调试完后用Q命令退出DEBUG。DEBUG命令参见教材2附录D。下面给出DEBUG中标志位状态符号的含义。NVUPDIPLNZNAPONCOVDNEINGZRACPECY溢出OF方向DF中断IF符号SF零位ZF辅助AF奇偶PF进位CF为0时为1时标志再举一个有访存操作的例子MOVSI,0050H;(DS)=2000HMOVDI,0100H;(ES)=3000HMOVCX,5CLDREPMOVSB1)先用A命令输入程序2)用R命令修改DS和ES寄存器到约定值DS的原始值输入的修改值3)用D命令查看源数据区和目标数据区4)用E命令初始化源数据区后再用D命令检查源数据区和目的数据区5)单步跟踪执行程序6)执行后检查源数据区和目标数据区注意,用A命令输入指令时,如果输入错误debug会立即指出错误和位置。地址不会变化,以便用户修正指令。附加2汇编语言上机过程用MASM5.0上机过程第一步编辑:第二步汇编:可以不输入,用回车回应修改好后再汇编:第三步连接并执行:可以直接用回车回应执行用DEBUG调试程序:段值偏移指令码反汇编的源码1)用U命令查看程序和目标码及指令地址2)用T命令单步跟踪,逐条执行看中间结果,DEBUG将显示每个寄存器以及各标志位的当前值这是还未执行的下一条指令这是MOVBX,[SI]的执行结果标志位3)对于系统功能调用,可以用G命令设置断点执行,也可以用P命令跳过过程与系统功能服务程序。设断点执行,断点设在INT21H的后一句INT21H输出的一个字符注意:DEBUG只支持16位汇编调试,如果要编写32位汇编程序,需要用MASM6.11汇编和连接,用CodeView软件查看执行代码。但MASM6.11中带的CodeView4.01可以查看32位程序的执行代码,不能进行单步调试。要调试可以考虑使用SoftICE软件。另外,VC嵌入汇编可以支持80486的所有指令,也支持32位汇编。用VC6.0实现C++中嵌入汇编建立源程序asmsample.cpp将下列程序输入到asmsample.cpp中#includeintpower2(int,int);voidmain(void){cout<<"2的6次方乘5等于:\t";cout<
本文档为【汇编语言上机过程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
dzws96803
暂无简介~
格式:ppt
大小:424KB
软件:PowerPoint
页数:25
分类:生活休闲
上传时间:2022-12-26
浏览量:0