微机原理实验debug调试..docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理实验debug调试.

汇编语言调试程序DEBUG的练习一练习目的1、学习使用DEBUG程序的各种命令。2、利用DEBUG学习8086指令系统。练习任务1、参照说明,掌握DEBUG程序的各种命令,重点是命令R,D,A,U,T,P,G命令的使用。用命令A汇编下列指令,判断指令正误并说明原因。1).ROR AX,8;错误,因为ROR指令的源操作数只能是数字1或是CL。2).LEA DI,[AX];错误,因为LEA指令的目的操作数不能是DI。3).MOV DS,2010;错误,因为段寄存器和立即数不能在MOV指令间传。4).PUSH AL;错误,因为PUSH指令的目的操作数只能是通用寄存器或是内存。5).OUT 900,AL;错误,因为900已经超过了8位二进制数的范围。6).MOV [BX],0;错误,因为内存和立即数之间的类型没有确定。 2、练习使用汇编命令1)利用加法指令求3+52)利用乘法指令求3*53)利用算术运算指令求3的补码4)学习使用逻辑运算指令。求5和17相与、相或的结果。5)学习数据传送指令三、设备 PC机一台四、练习步骤 1、实现3加5: 2、实现3*5: 3、实现求3的补码: 4、实现5和17相与:5、传送指令(独立练习) 1)用A命令在内存100H处键入下列内容:MOVAX,1234MOVBX,5678XCHGAX,BXMOVAH,35MOVAL,48MOVDX,75ABXCHGAX,DX 2)用U命令检查键入的程序并记录,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并 注意标志位有无变化。说明:下面所有操作均在DOS状态下进行。DEBUG.EXE是DOS操作系统提供的一个调试汇编语言程序的工具程序。其主要功能为:一、进入DEBUGC:\MASMDEBUG二、常用DEBUG 命令DEBUG命令概述 特点除命令RF外,DEBUG命令本身均为单字符,后面跟一个或多个参数,有些命令不给参数也能运行,如下表[]中的参数,这种情况下用默认值作为参数;DEBUG下输入和显示的数均为十六进制数,故数字后不可加后缀H,O,B等,否则认为命令错;命令和参数不区分大小写;分类命令格式功能简介读写寄存器R显示所有寄存器内容R 寄存器名显示和修改指定寄存器内容RF显示和修改FR的内容汇编和反汇编A[内存地址]从指定地址开始汇编指令U[内存块]对指定内存块进行反汇编执行指令T[=内存地址][条数]单步或多步执行指令P[=内存地址][条数]单步或多步执行指令G[=内存地址]连续执行指令G[=内存地址] 断点地址设断点执行程序读写内存D[内存块]显示指定内存块内容E 内存地址 字符或数值串修改指定内存内容F 内存块 字符或数值串填充指定内存块S 内存块 字符串或数值在指定内存块中查找串M 内存块1 内存块2的首地址复制内存块内容C内存块1 内存块2的首地址比较两个指定内存块退出DEBUGQ退出DEBUG,返回DOSDEBUG主要命令一览表常用参数含义内存地址内存地址表示一个内存区域的起始地址,由段地址和偏移地址两部分组成。段地址可用一个1至4位的十六进制数表示,也可用某个段寄存器表示,偏移地址只能用1至4位的十六进制数表示。段地址和偏移地址之间必须用冒号分隔。例 300:800 表示300:800H的内存地址 CS:100 表示以CS的内容为段地址,偏移地址为100H的内存地址内存块 内存块表示一个内存区域,有两种表示方法:一种是用首地址和末地址表示,其中首地址用前面介绍的内存地址表示法,而末地址只用偏移地址表示,其段地址默认为首地址的段值,末地址的偏移地址应比首地址的偏移地址大。另一种是用首地址和长度表示,其中长度由字符L引出。内存块的最大值是64K。命令D默认的长度为80H个字节,命令U默认的长度为20H个字节。例 下面两种表示法均表示DS:200H~DS:24FH的内存块DS:200 24FDS:200 L50例 下面两种表示法均表示3000H:5100H~3000H:51FFH的内存块3000:5100 51FF3000:5100 L100字符串参数一般用单引号‘’给出例:-F DS:1000 ‘Please Input:’数值参数为一个字节的十六进制数。多个数值参数之间必须用分隔符分隔。 例:-E DS:2000 12 34 56 78 90常用DEBUG命令介绍显示、修改寄存器内容显示所有寄存器内容格式:-R功能:以十六进制形式显示CPU内部各寄存器的值;以符号形式显示标志寄存器各标志位(TF除外);并将CS:IP所指向的内存内容反汇编成一条指令,可视为将要执行的指令。标志名称标志为1标志为0溢出标志(OF)(overflow flag)OVN

文档评论(0)

dbtx + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档