debug工具编写和调试汇编命令的方法

---恢复内容开始---

Ⅰ.准备工作

下载win.32位的DOSBox并配置Debug调试工具,打开DOSBox

Ⅱ. 进行测试

1.  修改cs中的值为ff00

命令:-r cs    //修改 cs

cs 1C8B //当前cs中的值为1CBB

ff00    //改为ff00

-r      //查看CPU寄存器的内容

2.  用D命令查看内存1000:0处的内容

命令: -d 1000:0    (d 段地址:偏移地址)

3.  用E命令改写内存1000:0-1000:0单元中的内容为0-9

命令:-e 1000:0 0 1 2 3 4 5 6 7 8 9

4.  用E命令从内存1000:0开始写入数据1,"a",2,"b",3,"c"

由此可知Debug中显示的是a,b,c的ASCll码值

随后用-q命令退出

Ⅲ.实验1

执行以下指令,观察执行后xpu中相关寄存器中内容是变化

输入以上程序后,用R命令修改cs与ip中的值,之后用T命令逐行执行A命令中的汇编指令

Ⅳ.实验2

计算2的8次方

Ⅴ.总结

通过这次实验,我初步了解了如何在DOSBox下进行DEBUG调试,并基本熟悉了DEBUG中的各种指令

发现并解决了各种大大小小的问题(如mov ax 0001h等等)

现存如下问题:

cls命令突然失效(执行P命令后)

利用jmp修改csip命令后无法实现循环?.

---恢复内容结束---

原文地址:https://www.cnblogs.com/20171308148wth/p/9824370.html

时间: 2024-11-13 10:45:18

debug工具编写和调试汇编命令的方法的相关文章

Cordova 3.x 基础(3) -- 调试Debug工具

Cordova 3.x 基础(3) -- 调试Debug工具 (1)Ripple Emulator 是基于Google Chrome的移动应用模拟器,已经捐赠给了ASF.Apache Ripple:http://ripple.incubator.apache.org/ Chrome Webstore安装地址: https://chrome.google.com/webstore/detail/geelfhphabnejjhdalkjhgipohgpdnoc 安装Ripple Emulator 引

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

对C语言进行调试的最好方法是什么?

要了解调试程序的最好方法,首先要分析一下调试过程的三个要素: 应该用什么工具调试一个程序? 用什么办法才能找出程序中的错误? 怎样才能从一开始就避免错误? 应该用什么工具调试一个程序? 有经验的程序员会使用许多工具来帮助调试程序,包括一组调试程序和一些"lint”程序,当然,编译程序本身也是一种调试工具. 在检查程序中的逻辑错误时,调试程序是特别有用的,因此许多程序员都把调试程序作为基本的调试工具.一般来说,调试程序能帮助程序员完成以下工作: (1)观察程序的运行情况 仅这项功能就使一个典型的调

七款Debug工具推荐:iOS

七款Debug工具推荐:iOS开发必备的调试利器 发表于2013-09-30 00:19| 9204次阅读| 来源CSDN| 28 条评论| 作者翟方庆 开源iOS应用开发开发工具调试 摘要:在开发应用的时候,我们会碰到各种各样的bug,我们想要更好地了解到底发生了什么.然而不可预期的调试工作,总会浪费我们大量时间.本文介绍了七款诊断调试工具,可以从可以帮助我们对代码.UI界面等进行调试. 历时数周或数月开发出来了应用或游戏,可为什么体验不流畅?怎么能查出其中的纰漏?这些需要调试诊断工具从旁协助

android debug工具集(挺全的)

1.TraceView 1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug; -- android.os.Debug.startMethodTracing("/data/tmp/test");// 先建/data/tmp目录 --// 被追踪的程序段 android.os.Debug.stopMethodTracing(); b)编译,运行后,设备端生成/da

实验五:编写、调试具有多个段的程序

实验任务一 将下面的程序编译.链接,用debug加载.跟踪,然后回答问题. 1 assume cs:code, ds:data, ss:stack 2 data segment 3 dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h 4 data ends 5 6 stack segment 7 dw 0, 0, 0, 0, 0, 0, 0, 0 8 stack ends 9 10 code segment 11 start: mo

实验 5 编写、调试具有多个段的程序

实验结论 实验1 1.实验代码 assume cs:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0 stack ends start: mov ax,stack mov ss,ax mov sp,16 mov ax,data mov ds,ax push ds:[0] push ds:[2

Window10中利用Windbg与虚拟机(window7)中调试驱动建立方法

想起自己的windbg配置就转载:eqera的windows内核调试配置,真的是获益良多希望他不会介意我转载他的博客,帮了我很多,记录下来给我也给大家, 其中我主要看的是VMWare的pipe建立,而我有些分享是在vs2015中打上DDK,然后在开始菜单window kits下找见windbgx86或者是你想要用的类型,然后 发送快捷方式到桌面利于以后用.发到桌面后,在属性插入你放置的的符号的路径,让然最后别忘了在windbg检查路径是否正确. eqera他的解述给了我很多帮助,可以耐心解读.下

Zen Coding: 一种快速编写HTML/CSS代码的方法[Emmet]

译自:[Smashing Magazine](http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/)中文:[Zen Coding: 一种快速编写HTML/CSS代码的方法](http://www.qianduan.net/zen-coding-a-new-way-to-write-html-code.html) 请尊重版权,转载请注明来源! - - - - - - 在本文中我们将展示