如何用debug调试汇编程序

如何用debug调试汇编程序,第1张

简单的说:

进入debug

输入-r,显示cpu中各个寄存器的内容。

输入-a,然后可以输入你想测试的程序语句,输入完按回车

进入到- ,这个状态,然后输入t,

-t的意思是单步执行,输入一次t执行一条语句,然后在输入r,查看cpu中各个寄存器内容是否有变化,然后再输入-t,再执行一条,再输入-r,查看cpu中各个寄存器内容是否有变化,……如此重复,知道你想测试的指令全部执行完。

输入-q退出debug。

debug环境编写???

不能吧!还有在这上面写程序的呢。没听说过用A命令写程序的,都没法保留下来啊。貌似没人这么干。

程序是不会给你编的,还是要靠自己去弄。

建议先看一下汇编支持mul指令的设计,如果支持双字,那么,如果要是用寄存器来存放结果,至少得四个或这个更多个寄存器,这对cpu仅有的那些个寄存器显然有点不好处理。所以,建议结果和数据的存放用内存空间。

乘法我们可以转化成加法,用循环来控制一下累加的次数。已成循环不行就得上二重循环。还要涉及到标志寄存器的进位标志,当你的计算结果超过了一个范围,比如说16位寄存器的值的时候,要产生进位,这个时候你根据这个进位将高位内存的数据+1,然后在判断是否想更高位产生了进位如此,才能将没有什么联系的内存单元变成有进位关系的内存空间。

这些也是我个人的想法。总之,要利用学到的知识,变通才能完成一些要求。

最基本的 *** 作是:

1首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run

当程序走到断点处就会转到debug视图下。

2F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over,

也就是执行本行代码,跳到下一行,

3F7是跳出函数

4F8是执行到最后。

1Step Into (also F5) 跳入

2Step Over (also F6) 跳过

3Step Return (also F7) 执行完当前method,然后return跳出此method

4step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)

5resume 重新开始执行debug,一直运行直到遇到breakpoint

6hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)

7inspect 检查 运算。执行一个表达式显示执行值

8watch 实时地监视变量的变化

9我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint

10field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂

11添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)

12添加Exception breakpoint 捕抓到Execption时暂挂(待续)

断点属性:

1hit count 执行多少次数后暂挂 用于循环

2enable condition 遇到符合你输入条件(为ture\改变时)就暂挂

3suspend thread 多线程时暂挂此线程

4suspend VM 暂挂虚拟机

13variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value一次来进行快速调试。

14debug 过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点

以上就是关于如何用debug调试汇编程序全部的内容,包括:如何用debug调试汇编程序、.用Debug环境编写程序,实现双字长(32 bit)无符号整数乘法、怎样在myEclipse中使用debug调试程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10072941.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存