一、用到的简单的DOS命令:

  • cd\ ——首先要用cd\ 退回到根目录C>下
  • dir ——显示文件列表
  • md hb ——建立hb子目录
  • cd hb ——进入hb子目录
  • copy d:\dos\masm.exe c:\hb ——将D盘dos目录下的masm.exe拷贝到C盘hb目录下
  • copy d:\dos\link.exe c:\hb ——将D盘dos目录下的link.exe拷贝到C盘hb目录下
  • cd .. ——退回到上一级目录
  • del \hb\masm.exe ——删除hb子目录中的某文件
  • rd hb ——删除hb子目录(子目录中的所有文件必须先删除)
  • e:——进入e盘
  • cls ——清屏
  • type——显示文本文件内容(如type c:\hb\abc.asm)

二、DEBUG命令有20多个,主要学习的最常用的命令有

  • R ——查看和修改寄存器
  • D ——查看内存单元
  • E ——修改内存单元
  • U ——反汇编,将机器指令变为汇编指令
  • T /P——单步执行
  • G ——连续执行程序
  • A ——输入汇编指令
  • Q ——退出

r命令:直接敲R,会显示CPU所有寄存器的信息;

       敲R AX(或者其他某个寄存器的),可以查看并修改AX寄存器的内容,首先会显示AX寄存器的内容,然后在冒号后可以填入你新想修改成为的内容,在敲回车成功修       改。(ps:可以再敲一下R命令查看是否修改。)

d命令:查看存储单元的内容,16个字节单元为一小段。

     单独敲D,从数据段(DS:0100)第一个单元开始显示,接连显示128个字节。

     敲D 起点的逻辑地址 从起点开始显示128个字节单元     D CS:0100   从代码段的0100单元开始显示128个字节单元

     敲D 起点的逻辑地址 终点地址的有效地址    显示存储单元从起点到终点的内容       D DS:0100 010F→显示数据段0100单元到010F单元的内容

     敲D 起点的逻辑地址 L10(其他数字亦可,但注意应是换算成16进制后的数字) 显示起点之后16个字节单元(16进制中的10换算成10进制为16)

       D ES:0100 L1→显示附加段中0100这1个字节单元。

e命令:可以改写多个存储单元的内容。

    敲E 起始地址,之后敲下回车,开始从起始地址修改,会显示修改前该单元的内容,在 . 之后 填入修改的内容,如果继续从该单元后修改,则敲空格,结束敲回车。

u命令:反汇编,列出机器码与对应的汇编语言中的助记符。

       U 起始地址;从起始地址开始反汇编,注意是在代码段中。ps:如果在进入debug中没有加入要调试的EXE文件,这是反汇编出来的程序代码不是用户编写的程序,这段程序       代码是系统代码段中保存的内容,有可能是系统程序,也可能是无效的代码。

t\p命令:可以单步执行代码。

    在执行t\p之前检查用R命令IP是否指向要执行的代码,如果不是要修改。此外T命令可以单步执行多条指令,格式为 T =EA x(要执行的代码条数),即从代码段EA开始执行x    条代码。

a命令:在debug中,a命令可以输入汇编指令,系统将自动地将键入的指令翻译成机器代码,并相继地存放在从指定地址开始的存储区中。由于debug中默认的是16进制,所以要先     将10进制转化为16进制。

     pl:计算35+27    35D=23H,27D=1BH

          

在DEBUG中,使用A命令可以输入汇编指令,系统自动地将键入的汇编指令翻译成机器代码,并相继地存放在从指定地址开始的存储区中。由于DEBUG下的数值默认为十六进制数,因此先要将十进制数转换成十六进制数。

来源: 实验楼
链接: https://www.shiyanlou.com/courses/83
本课程内容,由作者授权实验楼发布,未经允许,禁止转载、下载及非法传播

         输入A命令后,系统自动地给出逻辑地址0AEE:0100(CS:偏移地址),在其后输入汇编指令,回车后可输入下一条指令,直接回车则退出输入。也可以在A命令后给      出指令的存放地址,如A CS:0000,表示从代码段0单元开始存放输入指令。([0000]为数据段的字存储单元,在执行完上述指令后再执行D DS:0 L1可以看到[0000]          为3EH。)

    部分内容参考实验楼《汇编语言(第2版)》郑晓薇编著配套实验。

的程序代码并不是用户编写的程序,因为在输入DEBUG命令时没有写用户程序名.EXE。这段程序代码是系统代码段中保存的内容,有可能是系统程序,也有可能是无效的代码。

来源: 实验楼
链接: https://www.shiyanlou.com/courses/83
本课程内容,由作者授权实验楼发布,未经允许,禁止转载、下载及非法传播

debug(实验)的更多相关文章

  1. SpringMVC框架 课程笔记

    SpringMVC框架 课程笔记 第0章 SpringMVC框架的核心内容 1.SpringMVC 概述 2.SpringMVC 的 HelloWorld 3.使用 @RequestMapping 映 ...

  2. jmeter sampler maven项目排错记

    eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...

  3. 实验吧debug

    在linux下进行调试时容易出现权限不够的情况:此时解决办法就是chmod 777+文件名提升权限,以实验吧debug为例,给出了简单的32elf文件,我在查看一些资料以后发现,我需要在main函数处 ...

  4. 汇编语言实验1—Debug基础操作

    1.使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化. 记录1:最后一条指令执行完BX=(4026)H,AL=(66)H,检验结果. 两种写入:e命令 ...

  5. 【8086汇编-Day3】用debug做实验时的技巧与坑

    Ⅰ· 无病呻吟 学一门语言,不动手实验是学不好的,在实验中不断遇坑然后解决,才有进益.所以写一下我在第一次汇编实验中的所思所想(王爽<汇编语言>第二章章末实验). Ⅱ · 实验内容 题解思 ...

  6. 20145212&20145204信息安全系统实验四报告

    一.实验内容与步骤 1.本次实验建立在掌握嵌入式开发平台使用方法和配置方法的基础上,要求使用windows xp,linux(red hat),arm三个系统(即NFS方式): 2.在linux系统中 ...

  7. 学号20145332 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    实验目的 掌握在 ARM 开发板实现一个简单 WEB 服务器的过程. 学习在 ARM 开发板上的 SOCKET 网络编程. 学习 Linux 下的 signal()函数的使用. 实验内容 学习使用 s ...

  8. 北京电子科技学院(BESTI)实验报告4

    北京电子科技学院(BESTI)实验报告4 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)周恩德 .郑凯杰 学号:(按贡献大小排名)20145217 .201453 指 ...

  9. 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验

    20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...

随机推荐

  1. (转)初步认识拓展UnityEditor编辑器定制

    初步认识拓展UnityEditor编辑器定制 热度 9529 2015-9-4 18:50 |个人分类:Unity3d| 编辑器, 拓展 我相信无数初学者看别人游戏都经常看到他们的Inspector中 ...

  2. windows 32位以及64位的inline hook

    Tips : 这篇文章的主题是x86及x64 windows系统下的inline hook实现部分. 32位inline hook 对于系统API的hook,windows 系统为了达成hotpatc ...

  3. python静态网页爬虫之xpath

    常用语句: 1.starts-with(@属性名称,属性字符相同部分)使用情形: 以相同的字符开头 <div id = 'test-1'>需要的内容1</div> <di ...

  4. spring cloud 订单调用用户

    下面实现一个订单调用用户实现例子,使用技术只要是spring,为以后操作负载打基础.(基于昨天别人问我的基础上做了实例供大家参考) 1.用户工程截图 : 2.用户工程启动类 3.用户工程控制类 4. ...

  5. PHPFastCGI进程管理器PHP

    PHP-FPM是一个PHPFastCGI进程管理器,是只用于PHP的.      PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中.必须将它patch到你的PH ...

  6. centos6.4下安装mysql5.7.18

    1.安装前工作 在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载(在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库). 卸载系统自带的Mariadb: 查 ...

  7. 【转】开发者应该了解的API技术清单

    [转载贴] 作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事.为什么呢?因为在进行删除工作 时,意味着自己找出了造成干扰的位置,意味着找到了冗 ...

  8. mailing list的原理

    1 发往mailing list邮箱的邮件会被所有订阅了该邮箱的人收到 说白了,就是一种邮件群发机制,为了简化群发,不是将所有的收件人放到收件人列表中,而是发往总的邮箱即可. 2 要向该mailing ...

  9. Nulls

    Nullshttps://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm

  10. Webstorm如何设置背景色为护眼色(豆绿色)

    本文主要讲webstorm如何设置背景色. 1.打开idea Settings 选择 Editor——Color Scheme——General 注意:如果是Mac,在webstorm界面按键:“co ...