欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    实验一汇编语言程序设计一.ppt

    • 资源ID:2155025       资源大小:671.01KB        全文页数:35页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验一汇编语言程序设计一.ppt

    实验一汇编语言程序设计,上课时间:2011年12月05日 指导教师:朱华贵,实验准备: 用DEBUG验证程序段,通常汇编教学中,汇编程序结构会在指令系统后面讲,学生在学习指令系统时由于没有讲汇编程序结构而无法编写汇编程序来加深对汇编指令的理解,因此,在这里我们通过2个例子,介绍使用DEBUG调试工具编写程序段来学习汇编指令。 有关DEBUG的常用命令的用法请参看相关资料和课件。,题目:非压缩BCD码的减法运算,做68-9,mov ax, 0608h mov bl, 09h sub al, bl aas,运行debug,首先用A命令输入程序,Debug中只使用16进制数,且无需加H后缀,直接用回车退出汇编编辑状态,使用T命令跟踪执行,第一个T命令要带上程序首地址,后面的T命令无需地址,标志位,当前指令执行后的各寄存器的结果,这是还未执行的下一条指令的反汇编,这是还未执行的下一条指令的地址和指令码,下面给出DEBUG中标志位状态符号的含义。,调试完后用Q命令退出DEBUG。,再举一个有访存操作的例子,MOV SI, 0050H ; (DS)=2000H MOV DI, 0100H ; (ES)=3000H MOV CX, 5 CLD REP MOVSB,1)先用A命令输入程序,2)用R命令修改DS和ES寄存器到约定值,DS的原始值,输入的修改值,3)用D命令查看源数据区和目标数据区,4)用E命令初始化源数据区后再用D命令检查源数据区和目的数据区,5)单步跟踪执行程序,6)执行后检查源数据区和目标数据区,注意,用A命令输入指令时,如果输入错误debug会立即指出错误和位置。地址不会变化,以便用户修正指令。,附加2 汇编语言上机过程 用MASM 5.0上机过程,第一步编辑:,第二步汇编:,可以不输入,用回车回应,修改好后再汇编:,第三步连接并执行:,用DEBUG调试程序:,段值 偏移 指令码 反汇编的源码,1)用U命令查看程序和目标码及指令地址,2)用T命令单步跟踪,逐条执行看中间结果,DEBUG将显示每个寄存器以及各标志位的当前值,3)对于系统功能调用,可以用G命令设置断点执行,也可以用P命令跳过过程与系统功能服务程序。,设断点执行,断点设在INT 21H的后一句,INT 21H输出的一个字符,注意:DEBUG只支持16位汇编调试,如果要编写32位汇编程序,需要用MASM 6.11汇编和连接,用CodeView软件查看执行代码。但MASM 6.11中带的CodeView 4.01可以查看32位程序的执行代码,不能进行单步调试。要调试可以考虑使用SoftICE软件。 另外,VC嵌入汇编可以支持80486的所有指令,也支持32位汇编。,用VC6.0实现C+中嵌入汇编,建立源程序asmsample.cpp,将下列程序输入到asmsample.cpp中,#include int power2(int, int); void main(void) cout“2的6次方乘5等于:t“; coutpower2(5,6)endl; int power2(int num, int power) _asm mov eax, num ; 取第一个参数 mov ecx, power ; 取第二个参数 shl eax, cl ; 计算EAX=EAX×(2CL) / 返回值存于EAX ,编译执行后看结果,实验一 汇编语言程序设计(一),实验1.1 汇编语言程序的调试与运行 实验1.2 分支程序设计(一),实验1.1 汇编语言程序的调试与运行,一实验目的 1学习数据传送和算术运算指令的用法 2熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。 二实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在DATA1和DATA2为首的5个内存单元中,结果送回DATA1处。,三程序框图,主程序,子程序,四、参考程序 见实验指导书,五、调试步骤 1编辑源程序,建立一个以后缀为 ASM的文件. 2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。 4.DEBUG调试可执行程序,记录数据段DS:0DS:10的内容。,4.DEBUG调试结果分析:,进入DEBUG程序后:,六思考题 将上述程序改为5位数相加,结果为6位数的加法程序。(需考虑进位) 简单叙述上机步骤和调试方法。,5.在操作系统状态下,运行程序,并记录屏幕显示内容。,实验1.2 分支程序设计(一),一实验目的 掌握分支结构程序的编制方法。 二实验内容与要求 编制程序实现如下操作: 设有10个学生成绩,分别统计低于60分、6069分、7079分、8089分、9099分及100分的人数,并存放于S5、S6、S7、S8、S9、S10单元中。,实验1.2 分支程序设计(一),三程序框图 见实验指导书 四程序清单 实验指导书,五.实验结果,执行程序后,将结果分别填入下列表中:,六思考题 计算出各等级成绩百分比。分别填入下面表的A、B、C、D、E、中 增加统计平均成绩一项。,

    注意事项

    本文(实验一汇编语言程序设计一.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开