搜档网
当前位置:搜档网 › debug命令的基本使用

debug命令的基本使用

debug命令的基本使用
debug命令的基本使用

Debug的基本使用

1.使用r命令查看或修改CPU寄存器的内容。

(1)使用r的命令查看:

(2)使用r来改变寄存器中的内容:

例如修改AX的值,就需输入“r ax”后按Enter键,在出现的“:”后面输入要写入的数据,并按Enter,再用r查看,修改成功,如图1所示。

图1

用r来修改Ip的值,如图2所示。

2.用d来查看内存的内容。

(1)直接输入d,debug将输出3部分内容,如图3所示。

图3

(2)可以使用“d 段地址:偏移地址”的格式,例如想查看内存10000H处的内容。

(3)在使用“d 段地址:偏移地址”之后,接着使用d命令,可列出后续的内容,如图5所示。

图5

(4)使用d命令查看范围,格式为“d 段地址:起始偏移地址结尾偏移地址”。例如要查看1000:0到1000:9中的内容,如图6所示。

图6

3.用e来改写内存中的内容。

(1)将内存1000:0-1000:9中的内容分别改为0、1、2、3、4、5、6、7、8、9,其格式为“e 起始地址数据数据数据。。。”,如图7所示。

图7

(2)用提问的方法改写内存的内容。以1000:10为起始地址进行改写,其步骤为:

输入“e 1000:10”,并按Enter,在显示光标后面输入想要修改的内容,如果想停止输入,就按Enter,继续就按空格键。(在显示光标后面直接按空格键,则表示不对当前内存单元进行改写)

(3)用e向内存中写入字符。

(4)用e命令向内存中写入字符串。

(5)用e命令向内存中写入机器码,用u命令查看内存中机器码的含义,用t命令执行内存中的机器码。

例如要从内存1000:0单元开始写入机器码:b80100b9020001c8,其方法如图8所示。

图8

用u将从1000:0开始的内存单元中的内容翻译为汇编指令并显示出来。(见图9)

使用t命令可以执行CS:IP指向的指令。(图10)

图10

执行T命令后,cpu执行CS:IP指向的指令,则1000:0处的指令b8 01 00(mov ax,0001)得到执行。指令执行后,ax中的内容被改写为1,IP改变为IP+3(因为mov ax,0001的指令

长度为3个字节),CS:IP指向下一条指令。

继续使用T命令,情况如图11所示。

图11

4.用a的命令以汇编指令的形式在内存中写入机器指令。

图12

首先用a的命令,以汇编语言的形式从1000:3f开始写入几条指令,然后用D命令查看a 命令的执行结果。

注:使用A命令写入汇编指令时,在给出的起始地址后直接按Enter键表示操作结束。

【微机原理】DEBUG命令详解

DUBUG命令详解 Debug:A(汇编) 直接将8086/8087/8088 记忆码合并到内存。 该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。 a [address] 参数address指定键入汇编语言指令的位置。对address 使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a 将在它上次停止处开始汇编。有关将数据输入到指定字节中的信息,请单击“相关主题”列表中的Debug E(键入)。有关反汇编字节的信息,请单击“相关主题”列表中的Debug U(反汇编)。 说明使用记忆码 段的替代记忆码为cs:、ds:、es: 和ss:。远程返回的记忆码是retf。字符串处理的记忆码必须明确声明字符串大小。例如,使用movsw 可以移动16 位的字串,使用movsb 可以移动8 位字节串。 汇编跳转和调用汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用near 或far 前缀可以替代这样的跳转或调用,如下例所示: -a0100:0500 0100:0500 jmp 502 ; a 2-byte short jump 0100:0502 jmp near 505 ; a 3-byte near jump 0100:0505 jmp far 50a ; a 5-byte far jump 1

可以将near 前缀缩写为ne。 区分字和字节内存位置当某个操作数可以引用某个字内存位置或者字节内存位置时,必须用前缀word ptr 或者前缀byte ptr 指定数据类型。可接受的缩写分别是wo 和by。以下范例显示两种格式: dec wo [si] neg byte ptr [128] 指定操作数Debug 使用包括在中括号([ ]) 的操作数引用内存地址的习惯用法。这是因为另一方面Debug 不能区分立即操作数和内存地址的操作数。以下范例显示两种格式: mov ax,21 ; load AX with 21h mov ax,[21] ; load AX with the ; contents of ; memory location 21h 使用伪指令使用a 命令提供两个常用的伪指令:db 操作码,将字节值直接汇编到内存,dw 操作码,将字值直接汇编到内存。以下是两个伪指令的范例: db 1,2,3,4,"THIS IS AN EXAMPLE" db 'THIS IS A QUOTATION MARK:"' db "THIS IS A QUOTATION MARK:'" dw 1000,2000,3000,"BACH" 范例a 命令支持所有形式的间接注册命令,如下例所示: 2

实验一 DEBUG的使用

实验一 DEBUG的使用 实验目的: 1.学习使用DEBUG程序的各种命令。 2.掌握8088/86指令系统---算数指令。 3.掌握用DEBUG调试自编程序的方法。 4.掌握8088/8086 CPU寄存器的用途和存储器组织及它们之间的关系。 5.掌握内存操作数及寻址方法。 6.掌握汇编语言伪操作:BYTE PTR,WORD PTR。 内容及步骤: 一、DEBUG 命令使用: 1、敲 DEBUG 进入 DEBUG 环境,显示提示符 '_ '。 2、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。 3、用命令 E100 30 31 32 …… 3F 将30H~3FH写入地址为100H开始的内存单元中, 再用D命令观察结果,看键入的16进制数是什么字符的ASCII码? 4、用命令 F100 10F 'A' 将'A'的ASCII码填入内存,用D命令查看结果。 5、用命令 F110 11F 41 将41H 填入内存,用D命令观察结果并比较。 6、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内 容。 7、用R命令将AX,BX内容改写为1234H及5678H。 8、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH 二、8088常用指令练习 1、传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,34 MOV AL,56 MOV CX,75AB XCHG AX,CX 2)用U命令检查键入的程序,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。 2、加减法指令: 1)用A命令在内存200H处键入下列内容:

常用Linux系统Debug命令

常用Linux系统Debug命令 常用Linux系统Debug命令 命令系统,是一种计算机代码控制系统。常用Linux系统Debug 命令有哪些呢?下面是相关的知识,欢迎阅读。 1、查看TCP连接状态 netstat-nat|awk'{print$6}'|sort|uniq-c|sort-rn netstat- n|awk'/^tcp/{++S[$NF]};END{for(ainS)printa,S[a]}' netstat- n|awk'/^tcp/{++state[$NF]};END{for(keyinstate)printkey,"",s tate[key]}' netstat- n|awk'/^tcp/{++arr[$NF]};END{for(kinarr)printk,"",arr[k]}' netstat-n|awk'/^tcp/{print$NF}'|sort|uniq-c|sort-rn netstat-ant|awk'{print$NF}'|grep-v'[a-z]'|sort|uniq-c netstat-nat|awk'{print$6}'|sort|uniq-c|sort-rn netstat- n|awk'/^tcp/{++S[$NF]};END{for(ainS)printa,S[a]}' netstat- n|awk'/^tcp/{++state[$NF]};END{for(keyinstate)printkey,"",s tate[key]}' netstat- n|awk'/^tcp/{++arr[$NF]};END{for(kinarr)printk,"",arr[k]}' netstat-n|awk'/^tcp/{print$NF}'|sort|uniq-c|sort-rn

实验一--掌握DEBUG-的基本命令及其功能

实验一掌握DEBUG 基本命令及其功能【上篇】查看CPU和内存,用机器指令和汇编指令编程 一.实验目的: 掌握DEBUG 的基本命令及其功能 掌握win7 win8 使用DEBUG功能 二.实验内容: 1. 预备知识:Debug的使用 (1) 什么是Debug? Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。 (2) 我们用到的Debug功能 ●用Debug的R命令查看、改变CPU寄存器的内容; ●用Debug的D命令查看内存中的内容; ●用Debug的E命令改写内存中的内容; ●用Debug的U命令将内存中的机器指令翻译成汇编指令; ●用Debug的T命令执行一条机器指令; ●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。 (3) 进入Debug Debug是在DOS方式下使用的程序。我们在进入Debug前,应先进入到DOS方式。用以下方式可以进入DOS: ①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。 ②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。 三.实验任务 1. 从网上下载Dosbox和debug.exe(文件夹中有)。 2. debug.exe放在D:根目录,然后安装,安装完成以后,点击快捷方式进入Dos界面:

3.输入mount c d:\ 接着输入c: Dosbox 5.接着,你就可以使用Debug: debug 6.备注:debug.exe放在D:根目录下,你也可以把debug.exe放在任何一个文件夹下面。 其中这个文件夹就是mount c d:所对应的。 一.(1) 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU 中相关寄存器中内容的变化。(逐条执行,每条指令执行结果截图) 机器码汇编指令 b8 20 4e mov ax,4E20H 05 16 14 add ax,1416H bb 00 20 mov bx,2000H 01 d8 add ax,bx 89 c3 mov bx,ax

掌握DEBUG基本命令

实验课程名称微型计算机原理实验报告_实验项目名称掌握DEBUG基本命令_专业班级电子信息科学与技术101班_学生姓名____________ 学号_____ 实验成绩 指导教师签字

贵 州 大 学 实 验 报 告 纸 系 别 班 级 姓 名 学号 课 程 名 称 成 绩 评 定 教师签名 实 验 时 间 2011年 11 月 23 日 一、实验目的 (1)熟悉DEBUG 有关命令的使用方法。 (2)利用DEBUG 掌握有关指令的功能。 (3)利用DEBUG 运行简单的程序段。 二、实验内容 Ⅰ.掌握DEBUG 程序的各种命令,重点掌握U ,G ,T ,D ,E ,R 命令。 ⒈ 反汇编命令:-U[地址] 该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U 命令的最后一条指令的下一个单元开始显示32个字节。

⒉运行命令G: ⒊追踪命令T,有两种格式: 1)逐条指令追踪:-T[=地址] 该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。 2)多条指令追踪: -T[=地址][值] 该命令从指定地址起执行n条命令后停下来,n由[值]确定。 ⒋显示内存单元内容的命令D,格式为: -D[地址]或-D[范围] 1)D命令后跟寄存器表示的地址 2)D命令后不加地址

3)D命令后加直接地址 ⒌修改内存单元内容的命令E,用给定的内容代替指定范围的单元内容: -E地址内容表 6.检查和修改寄存器内容的命令R,它有三种方式: 1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R 2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名 3)显示和修改标志位状态,命令格式为:-RF

debug常见命令使用说明

五、DEBUG调试程序 DEBUG.EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。 1)DEBUG程序使用 在DOS提示符下键入命令: C>DEBUG [盘符:][路径][文件名.EXE][参数1][参数2] 这时屏幕上出现DEBUG的提示符“-”,表示系统在DEBUG管理之下,此时可以用DEBUG 进行程序调试。若所有选项省略,仅把DEBUG装入内存,可对当前内存中的内容进行调试,或者再用N和L命令,从指定盘上装入要调试的程序;若命令行中有文件名,则DOS把DEBUG 程序调入内存后,再由DEBUG将指定的文件名装入内存。 2)DEBUG的常用命令 (1)汇编命令A 格式:A[起始地址] 功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100地址开始存放。A命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。 (2)反汇编命令U 格式1:U[起始地址] 格式2:U[起始地址][结束地址|字节数] 功能:格式1从指定起始地址处开始将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP开始。 格式2将指定范围的内存单元中的目标代码转换成汇编指令。 (3)显示、修改寄存器命令R 格式:R[寄存器名] 功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。 AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=3000 ES=23A0 CS=138E IP=0000 NV UP DI PL NZ NA PO NC 138E:0000 MOV AX,1234 -R AX ;输入命令 AX 0014 ;显示AX的内容 :;供修改,不修改按回车。 若对标志寄存器进行修改,输入:-RF 屏幕显示如下信息,分别表示OF、DF、IF、SF、ZF、AF、PF、CF的状态。 NV UP DI PL NZ NA PO NC 不修改按回车键。要修改需个别输入一个或多个此标志的相反值,再按回车键。R命令只能显示、修改16位寄存器。 (4)显示存储单元命令D 格式1:D[起始地址]

1DEBUG命令的功能及使用

实验一DEBUG命令的功能及使用 一实验目的 掌握汇编语言基本运行环境和熟悉DEBUG调试程序的命令。包括:学习使用指令,掌握常用的指令功能和简单程序设计;掌握DEBUG调试程序的命令,熟悉程序输入、存储器和CPU寄存器及标志位的检查方法,单步、断点、连续等运行程序的调试方法。 二实验内容 DEBUG的主要命令功能与格式 1.汇编命令A 格式:A [[<段寄存器名>/<段地址>:] <段内偏移>] 上式等价于: (1)A <段寄存器名>:<段内偏移> (2)A <段地址>:<段内偏移> (3)A <段内偏移> (4)A 功能:键入该命令后显示段地址和段内偏移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令,顺序存放到段地址和段内偏移所指定的内存区域,直到显示下一地址时用户直接键入回车键返回到提示符“-”。 注:其中(1)用指定段寄存器的内容作段地址,(3)用CS的内容作段地址,(4)以CS:100作地址。以后命令中提及的各种‘地址’形式,均指(1)、(2)、(3)中A后的地址形式。 2.显示内存命令D 格式:D [<地址>/<范围>] 上式等价于: (1)D <地址> (2)D <范围> (3)D 功能:以两种形式显示指定范围的内存内容。一种形式为十六进制内容,一种形式为以相应字节的内容作为ASCII码的字符,对不可见字符以‘.’代替。 注:其中(1)以CS为段寄存器。(3)显示CS:100起始的一片内容。 3.修改内存命令E 格式:E <地址> [<单元内容表>] 上式等价于: (1)E <地址> (2)E <地址> <单元内容表>

其中<单元内容表>是以逗号分隔的十六进制数,或用’或”括起来的字符串,或者是二者的组合。 功能:(1)不断显示地址,可连续键入修改内容,直至新地址出现后键入回车Enter 为止。(2)将<单元内容表>逐一写入由<地址>开始的一片单元。 4.填充内存命令F 格式:F <范围> <单元内容表> 功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。 例如:-F 5BC:200 L 10 B2,‘XYZ’,3C 5.执行命令G 格式:G [=<地址>[,<断点>]] 上式等价于: (1)G (2)G=<地址> (3)G=<地址>,<断点> 功能: 执行内存中的指令序列 注:(1)从CS:IP所指处开始执行 (2)从指定地址开始执行 (3)从指定地址开始执行,到断点自动停止。 6.内存搬家命令M 格式:M <源地址范围> <目标起始地址> 其中源及目标地址若仅输入偏移量,则隐含相对DS。 功能:把<源地址范围>中的内容顺序搬至<目标起始地址>起的一片连续单元。 例如:-M CS:100 110 600 把从CS:100起至CS:110止17个字节搬至DS:600至DS:610的一片单元。 7.结束DEBUG返回DOS命令Q 格式:Q 功能:返回DOS提示符下 8.显示修改寄存器命令R 格式:R [<寄存器名>] 上式等价于: (1)R (2)R <寄存器名> 功能:(1)显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址,代码及汇编语句形式。其中对状态标志FLAG以每位的形式显示,见下表。

DEBUG的基本调试命令

实验一 DEBUG的基本调试命令 一、实验目的 1.熟悉Pentium微处理器指令系统和寻址方式 2.掌握DEBUG调试软件的基本命令、调试方法。 二、DEBUG调试软件介绍 DEBUG.EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。WINDOWS操作系统安装时自带有DEBUG.EXE程序,不需另外安装。 1、DEBUG程序的使用 在DOS提示符下键入命令: C:\> DEBUG [盘符:][路径][文件名.EXE][参数1][参数2] 这时屏幕上出现DEBUG的提示符“-”,表示系统在DEBUG管理之下,此时可以用DEBUG 进行程序调试。若所有选项省略,仅把DEBUG装入内存,可对当前内存中的内容进行调试,或者再用N和L命令,从指定盘上装入要调试的程序;若命令行中有文件名,则DOS把DEBUG 程序调入内存后,再由DEBUG将指定的文件名装入内存。 2、DEBUG的常用命令 (1)汇编命令 A 格式:A [起始地址] 或 A ;每输入完一条指令,用回车键来确认。 功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100 (段地址:偏移地址)地址开始存放。A命令是按行进行汇编,主要是用于小段程序的汇编或对目标程序的修改,具有检查错误的功能。如有错误,用^Error提示。然后重新输入正确命令即可。 注:DEBUG的A命令中数字部分输入的默认格式是16进制。如输入10,对于计算机而言,就是10H。另外A命令不支持标识符的输入。只能用准确的段地址:偏移地址来设置跳转的位置。 (2)反汇编命令 U 格式1:U [起始地址] 格式2:U [起始地址][结束地址|字节数] 功能:格式1从指定起始地址处开始固定将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP开始。 格式2将指定范围的内存单元中的目标代码转换成汇编指令。 (3)显示、修改寄存器命令 R 格式:R[寄存器名]或R 功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。 AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=3000 ES=23A0 CS=138E IP=0000 NV UP DI PL NZ NA PO NC 138E:0000 MOV AX,1234 -R AX ;输入命令 AX 0014 ;显示AX的内容 : ;供修改,不修改按回车。 若对标志寄存器进行修改,输入:-RF 屏幕显示如下信息,分别表示OF、DF、IF、SF、ZF、AF、PF、CF的状态。 NV UP DI PL NZ NA PO NC 不修改按回车键。要修改需个别输入一个或多个此标志的相反值,再按回车键。R命令只能显示、修改16位寄存器。

DEBUG命令使用及寻址方式使用

实验一 DEBUG命令使用及8088指令使用 一、实验目的 1、熟悉使用DEBUG命令 2、用DEBUG命令进行七种寻址方式的验证 二、DEBUG学习指导 DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 1、DEBUG程序的启动在DOS提示符下,可键入命令:C>DEBUG[d:][path][文 件名][ 参数1][参数2] 其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。 2、DEBUG的主要命令 (1)汇编命令A,格式为:-A[地址] 该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。 (2)反汇编命令U,有两种格式: 1)-U[地址] 该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U 命令的最后一条指令的下一个单元开始显示32个字节。 2)-U范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108或–U 04BA:0100 L9 此二命令是等效的。 (3)运行命令G,格式为:-G [=地址1][地址2[地址3。。。]] 其中地址1规定了运行起始地址,后面的若干地址均为断点地址。 (4)追踪命令T,有两种格式: 1)逐条指令追踪:-T[=地址] 该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。 2)多条指令追踪:-T[=地址][值] 该命令从指定地址起执行n条命令后停下来,n由[值]确定。 (5)显示内存单元内容的命令D,格式为:-D[地址]或-D[范围]

常用网络调试命令

常用网络调试命令 Windows网络命令行程序 这部分包括: 使用ipconfig/all查看配置 使用ipconfig/renew刷新配置 使用ipconfig管理DNS和DHCP类别ID 使用Ping测试连接 使用Arp解决硬件地址问题 使用nbtstat解决NetBIOS名称问题 使用netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 使用tracert跟踪网络连接 使用pathping测试路由器 使用ipconfig/all查看配置 1、测试物理网络 命令:ping192.168.0.8-t,参数-t是等待用户去中断测试 友情提示:这个是最基本,最常用的网络命令 2.查看DNS、IP、Mac等信息 A.Win98:winipcfg B.Win2000以上:Ipconfig/all 3.网络信使

命令:Net send计算机名/IP*(广播)传送内容,注意不能跨网段 命令:net stop messenger停止信使服务,也可以在面板-服务修改 命令:net start messenger开始信使服务 4.探测对方计算机名,所在的组、域及当前用户名(追捕的工作原理) 命令:ping-a IP-t,只显示NetBios名 命令:nbtstat-a IP比较全的 https://www.sodocs.net/doc/9215946483.html,stat-a显示出你的计算机当前所开放的所有端口 命令:netstat-s-e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP和IP的统计等 6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC 地址 命令:arp-a 7.在代理服务器端 捆绑IP和MAC地址,解决局域网内盗用IP!: 命令:ARP-s192.168.10.5900-50-ff-6c-08-75

DEBUG命令

DEBUG命令详解 Debug 原意是杀虫子。这里是机器调试工具。 其实,Debug的由来,还有一则趣闻,在早期美国的一计算机房中,科学家正在紧张的工作。同时,许多台大型的计算机也在不停的运行着。大概是由于,机器过热,引来许的小虫子,以至于,计算机无法正常运行。科学们,只好停下来,捉虫子...虫子捉完了,计算机运行也正常了,后来,这个名词就沿用至今了.... 虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好!接下来,我们就一起学习Debug在各方面的运用吧!(在杀毒、加解密、系统...)下面我和大家一起学习一些,Debug的用法,虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好! Debug常用命令集 名称解释格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump) 内存16进制显示 d [address]或 d [range] e (Enter) 修改内存字节 e address [list] f (fin) 预置一段内存 f range list g (Go) 执行程序g [=address][address...] h (Hexavithmetic) 制算术运算h value value i (Input) 从指定端口地址输入i pataddress l (Load) 读盘l [address [driver seetor> m (Move) 内存块传送m range address n (Name) 置文件名n filespec [filespec...] o (Output) 从指定端口地址输出o portadress byte q (Quit) 结束q

DOS的debug命令表

DOS的提示符下,可如下键入Debug启动调试程序: DEBUG [路径\文件名] [参数1] [参数2] Debug后可以不带文件名,仅运行Debug程序;需要时,再用N和L命令调入被调试程序。命令中可以带有被调试程序的文件名,则运行Debug的同时,还将指定的程序调入主存;参数1/2是被调试程序所需要的参数。 在Debug程序调入后,根据有无被调试程序及其类型相应设置寄存器组的内容,发出Debug的提示符“-”,此时就可用Debug命令来调试程序。 ?运行Debug程序时,如果不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段; 除SP之外的通用寄存器都设置为0,而SP指示当前堆栈顶在这个段的尾部;IP=0100h;状态标志都是清0状态。 ?运行Debug程序时,如果带入的被调试程序扩展名不是.EXE,则BX.CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。 ?运行Debug程序时,如果带入的被调试程序扩展名是.EXE,则需要重新定位。此时,CS : IP 和SS : SP根据被调试程序确定,分别指向代码段和堆栈段。DS=ES指向当前可用的主存段,BX.CX包含被调试文件大小的字节数(BX为高16位),其他通用寄存器为0,状态标志都是清0状态。 Debug的命令都是一个字母,后跟一个或多个参数:字母 [参数] 命令的使用中注意: ①字母不分大小写; ②只使用16进制数,没有后缀字母; ③分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符; ④每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行; ⑤命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。 许多命令的参数是主存逻辑地址,形式是“段基地址 : 偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。 对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址结束地址”(结束地址不能具有段地址),或者是:“开始地址 L字节长度”。 显示命令D D(Dump)命令显示主存单元的内容,它的格式如下(注意分号后的部分用于解释命令功能,不是命令本身): D [地址];显示当前或指定开始地址的主存内容 D [范围];显示指定范围的主存内容

DEBUG的使用方法

DEBUG程序的使用 一、在DOS的提示符下,可如下键入Debug启动调试程序: DEBUG [路径\文件名] [参数1] [参数2] Debug后可以不带文件名,仅运行Debug程序;需要时,再用N和L命令调入被调试程序。命令中可以带有被调试程序的文件名,则运行Debug的同时,还将指定的程序调入主存;参数1/2是被调试程序所需要的参数。 在Debug程序调入后,根据有无被调试程序及其类型相应设置寄存器组的内容,发出Debug的提示符“-”,此时就可用Debug命令来调试程序。 ?运行Debug程序时,如果不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段;除SP之外的通用寄存器都设置为0,而SP指示当前堆栈顶在这个段的尾部;IP=0100h;状态标志都是清0状态。 ?运行Debug程序时,如果带入的被调试程序扩展名不是.EXE,则BX.CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。 ?运行Debug程序时,如果带入的被调试程序扩展名是.EXE,则需要重新定位。此时,CS : IP和SS : SP根据被调试程序确定,分别指向代码段和堆栈段。DS=ES指向当前可用的主存段,BX.CX包含被调试文件大小的字节数(BX为高16位),其他通用寄存器为0,状态标志都是清0状态。 二、DEBUG命令的格式 Debug的命令都是一个字母,后跟一个或多个参数:字母 [参数] 命令的使用中注意: ①字母不分大小写; ②只使用16进制数,没有后缀字母; ③分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符; ④每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行; ⑤命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。 许多命令的参数是主存逻辑地址,形式是“段基地址 : 偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。 对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址结束地址”(结束地址不能具有段地址),或者是:“开始地址 L字节长度”。 三、DEBUG子命令 1、显示命令D D(Dump)命令显示主存单元的内容,它的格式如下(注意分号后的部分用于解释命令功能,不是命令本身): D [地址];显示当前或指定开始地址的主存内容 D [范围];显示指定范围的主存内容 例如,显示当前(接着上一个D命令显示的最后一个地址)主存内容: 左边部分是主存逻辑地址,中间是连续16个字节的主存内容(16进制数,以字节为单位),右边部分是这16个字节内容的ASCII字符显示,不可显示字符用点“.”表示。一个D 命令仅显示“8行×16个字节”(80列显示模式)内容。 再如: -d 100 ;显示数据段100h开始的主存单元

DEBUG的基本命令使用

实验一 DEBUG的基本命令使用 实验名称:利用DEBUG验证寻址方式 实验目的:掌握DEBUG的常用指令(R,D,E,A,U,T 指令)的使用方法,理解不同寻址方式的特点 实验内容:在DEBUG中利用A命令输入以下汇编指令,并用U命令显示,利用T 命令单步跟踪指令的执行过程,利用R或者D命令观察相关寄存器或者内存单元内容的变化(相关过程和结果要体现在实验报告上)。 (1)立即寻址 MOV AX,1 MOV BL,02H MOV BH,34H -a 13AE:0100 mov ax,1 13AE:0103 mov bl,02 13AE:0105 mov bh,34 13AE:0107 -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13AE ES=13AE SS=13AE CS=13AE IP=0100 NV UP EI PL NZ NA PO NC 13AE:0100 B80100 MOV AX,0001 -t AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13AE ES=13AE SS=13AE CS=13AE IP=0103 NV UP EI PL NZ NA PO NC 13AE:0103 B302 MOV BL,02 -t AX=0001 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13AE ES=13AE SS=13AE CS=13AE IP=0105 NV UP EI PL NZ NA PO NC 13AE:0105 B734 MOV BH,34 -t AX=0001 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13AE ES=13AE SS=13AE CS=13AE IP=0107 NV UP EI PL NZ NA PO NC 13AE:0107 0000 ADD [BX+SI],AL DS:3402=00 (2)寄存器寻址 在验证完(1)后,执行mov ax,bx -a 13AE:0107 mov ax,bx 13AE:0109 -t AX=3402 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13AE ES=13AE SS=13AE CS=13AE IP=0109 NV UP EI PL NZ NA PO NC

第一章_DEBUG使用

第一章DEBUG的使用 一、DEBUG概述 DEBUG是在DOS状态下面供程序员使用的程序调试工具。它可以用来检查内存中任何地址中的内容以及修改特定地址中的内容。DEBUG还可以用于逐指令执行某个程序,追踪程序的执行过程,比较一条指令执行前后数值变化情况,读写文件与磁盘扇区。此外,DEBUG 还可以用于读写端口中的数值。 在DEBUG状态下,所有数据都作为字节序列,可以用DEBUG把任何类型的文件读入内存中。DEBUG能够处理的数据为两种: 十六进制数和ASCⅡ码,使用两位数表示十六进制数据(0~9,A~F)。在DEBUG中涉及内存中的数据时,要指定数据所在的内存单元的地址,地址的输入格式是: [段地址]: [位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用(称PSP结构,包含程序执行的各种信息),该区域用于建立DOS与程序之间的联系。在DEBUG中,使用四位十六进制数表示地址(0~9,A~F)。 DEBUG输入数据时有两种方法: 提示方法和非提示方法。在提示方法下,输入要求输入数据的命令,后跟保存数据的地址。执行后可以看到该地址中已有的内容及一个冒号提示符。此时可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到“—”提示符。在非提示方法下,输入保持数据的内存地址以及要输入的数据。 DEBUG的启动: 进入DOS状态下,键入DEBUG ?,按ENTER键,如: C:\>DEBUG ?,则屏幕显示: - 符号“-”是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。 DEBUG的退出: 在DEBUG的提示符后输入Q命令,按ENTER键,则退出DEBUG返回DOS。 DEBUG的使用: 在DEBUG的提示符后输入DEBUG命令,按ENTER键。 二、DEBUG 命令详解 ★A命令 格式:A[地址] 功能:将指令直接汇编成机器码输入到内存中。 参数说明:[地址]指定存放键入汇编语言指令的内存单元的位置。 A命令使用 说明:用于小段程序的汇编及修改目标程序,所有输入的数字均默认为十六进制,并且不需要以“h”字符结尾。用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,该语句被汇编到CS:0100区域,则在它上次停止处开始汇编。 注意: 1. 直接在A命令下输入跳转指令时,跳转指令后应跟跳转到的语句所在内存单元的地址, 不能跟标号;使用跳转指令时,可以指定跳转指令的属性:near,far。near 前缀可以缩写为 ne。如下例所示: -a0100:0100 0100:0100 jmp 102 0100:0102 jmp near 105 0100:0105 jmp far 10a

掌握DEBUG 基本命令及其功能

实验一掌握DEBUG 基本命令及其功能 【调试debug步骤】 【上篇】查看CPU和内存,用机器指令和汇编指令编程 一.实验目的: 掌握DEBUG 的基本命令及其功能 掌握win7 win8 使用DEBUG功能 二.实验任务 (1) 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU 中相关寄存器中内容的变化。(逐条执行,每条指令执行结果截图) 机器码汇编指令 b8 20 4e mov ax,4E20H 05 16 14 add ax,1416H

bb 00 20 mov bx,2000H 01 d8 add ax,bx 89 c3 mov bx,ax 01 d8 add ax,bx b8 1a 00 mov ax,001AH bb 26 00 mov bx,0026H 00 d8 add al,bl 00 dc add ah,bl 00 c7 add bh,al b4 00 mov ah,0 00 d8 add al,bl 04 9c add al,9CH 提示:可用E命令和A命令以两种方式将指令写入内存。注意用T命令执行时,CS:IP 的指向。 1、操作前 2、一次输入完后 3、mov ax,4E20H 4、add ax,1416H

5、mov bx,2000H 6、add ax,bx 7、mov bx,ax 8、add ax,bx 9、mov ax,001AH 10、mov bx,0026H 11、add al,bl

12、add ah,bl 13、add bh,al 14、mov ah,0 15、add al,bl 16、add al,9CH (2) 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。mov ax,1 add ax,ax jmp 2000:0003 1、输入指令

动态调试程序DEBUG

武汉工程大学 电气信息学院 《面向对象程序设计》实验报告[ 1 ]

实验内容 (说明:此部分应包含:实验内容、实验步骤、实验数据与分析过程等) 一、实验内容、实验方法与步骤、实验数据与结果分析 1) 启动DEBUG程序 2)A命令(逐行汇编命令) A命令是逐行汇编命令,主要用于小段程序的汇编和修改目标程序。使用逐行汇编命令汇编程序时,一般不允许使用标号和伪指令。但在MS-DEBUG中允许使用DB和DW这两个伪指令。 3)G命令(执行)

G命令用来启动运行一个程序或程序的一段。 4)T命令(跟踪执行) T命令用来逐条跟踪程序的执行。 5)U命令(反汇编)

U命令可以对二进制代码程序作出反汇编,常用于分析和调试目标程序。 6)D命令(显示内存) 该命令是将调入内存的程序以十六进制形式以及对应的ASCII字符形式显示出来。 7)E命令(将内容写入内存)

将内容写到指定地址处。 8)R命令(修改寄存器) 显示寄存器的内容,然后修改其值。 9)N命令(命令) N命令也可用来设置文件名,以便于进行读/写。 10)W命令(写盘) W命令是将当前内存指定长度的内容按N命令给出的文件名存入磁盘。 11)L命令(读盘) L命令可将磁盘指定扇区的内容读到内存,或将指定文件读到内存。 12)M命令(移动内存) 移动内存内容实际上是将内存中的一块数据从一处复制到另一处。 13)C命令(比较) C命令是比较两块内存中的内容是否一致。 14)S命令(查找) S命令是查找内存中的指定内容。

15)F命令(填充) L命令将某个指定内容整块地填写到内存指定的位置上。 16)H命令(十六进制运算) H命令用来计算十六进制数的和与差。 17)I命令(读端口信息) I命令是读端口信息命令,可显示从指定端口取得的输入数据。 18)O命令(输出到端口) O命令是将指定字节内容送到指定端口。 实验总结 (说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。) 通过这次实验,使我了解和熟悉了DEBUG简单操作,通过DEBUG 命令的学习让我能够对基本程序的读写和调试。我还掌握了一些DOS 命令、汇编指令、DEBUG命令、BCD码、寄存器,让我有能力看懂编辑简单的指令。了解了8086系统中数据的存放方式和内存操作数的寻址方式,学会了简单源程序的编写,汇编,DEBUG检查程序。真的很感谢老师和同学对我的帮助,让我学到了这么多的知识。

DEBUG实验

中南大学微机实验 实验一顺序程序设计与DEBUG使用 一、实验题目 1.利用串操作传送指今将0FFH送入数据段的0180H开始的128个字节存储单元中,编写一段程序。 2.将数据段中0200H字节存储单元中的二位BCD码转换为二个ASCII码送0201H开始的二个字节单元中,编写—段程序。 3.编写一段程序,在内存中自SQTAB(0200H)地址开始的连续十个单元中存放0~9的平方值。要求利用计算法查表求NUM(0210H)单元中指定数(0~9中的任意一数)的平方值,并将所求平方值存入RESULT(0211H)单元中。 [注]:题目二和题目三可选做一个,题目一必做。 二、实验设备 硬件环境 IBM/PC及其兼容机 软件环境操作系统DOS6.22 调试程序https://www.sodocs.net/doc/9215946483.html, 三、实验要求 1、利用DEBUG程序中的A命令,对编写好的源程序进行编辑和汇编。 2、利用U命令对汇编后的目标程序进行反汇编,可检查编辑的程序是否正确,也可知道每条指令的IP值。 3、利用T、G命令对程序进行单步、没断点和连续执行。 4、利用R、D、E命令可对程序运行前预置数据,运行中检查中间结果和远行后检查最终结果。 5、利用Q命令退出DEBUG程序,返回DOS。 四、预习要求 1、复习DOS启动及DOS的有关命令的使用。 2、阅读本指导书的附录一,了解和掌握DCBUG程序中的 A、U、R、D、E、T、G和Q的书规定和功能。 3、预先编写好题目中的源程序。(第一题已有源程序,见实验步骤)

五、实验步骤 题目一: 1、启动DOS操作系统。 2、运行https://www.sodocs.net/doc/9215946483.html,程序 D:>DEBUG — (此即处于DEBUG等待命令状态的提示符) 3、用A命令编辑和汇编源程序(黑体字部分为键盘输入部分) _A 16C0:0100 MOV DI,0180 0103 MOV CX,80 0106 MOV AL,FF 0108 REP STOSB 010A HLT 010B - 4、用U命令反汇编验证源程序 _U CS:0100 16C0:0100 BF8001 MOV DI,0180 16C0:0103 B97F00 MOV CX,0080 16C0:0106 BOFF MOV AL,FF 16C0:0108 F3 REPZ 16C0:0109 AA STOSB 16C0:010A F4 HLT 5、源程序若有错,可返回第3步用A命令进行修改,再进行3—4。无错误,可运行程序。 6、用R命令观察程序末执行前,程序中各有关寄存器内容,并填人括号中。 _R AL=( ),DI=( ),CX=( ),DS=( ),CS=( ),IP=( ) 7、用D命令观察程序未执行前,存放结果的存储区中内容。 _D ES:0180 8、用T命令执行一条指令,观察DI寄存器内容的变化,并填入此值: _T DI=( ) IP=( ) CS=( ) 9、用T命令一条条执行程序,并观察相应的寄存器内容或存储单元内容,一直执行到最后一条指令为止。 10、用D命令观察最终结果 _D ES:0180 此时可观察到ES:0180~ES:01FF单元中内容已全部改变为FF。 11、用R命令改变1P值,使它回到程序的第一条指令处 _R IP

相关主题