
简单的说:
进入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调试程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)