汇编debug指令 汇编debug怎么用


汇编中怎么用DEBUG调试程序

启动

汇编debug指令 汇编debug怎么用汇编debug指令 汇编debug怎么用


汇编debug指令 汇编debug怎么用


汇编debug指令 汇编debug怎么用


Debug,它是可用于测试和调试

MS-DOS

可执行文件的程序。

Debug

[[drive:][path]

filename

[parameters]]

参数

[drive:][path]

filename

指定要测试的可执行文件的位置和名称。

parameters

指定要测试的可执行文件所需要的任何命令行信息。

++

说明

使用

Debug

命令但不指定要测试的文件

如果使用没有位置和文件名的

Debug

命令,然后键入所有的

Debug

命令以响应

Debug

提示符,连字符

(-)。

Debug

命令

以下是

Debug

命令列表:

?显示

Debug

命令列表。

a汇编

8086/8087/8088

记忆码。

c比较内存的两个部分。

d显示部分内存的内容。

e从指定地址开始,将数据输入到内存。

f使用指定值填充一段内存。

g运行在内存中的可执行文件。

h执行十六进制运算。

i显示来自特定端口的

1字节值。

l将文件或磁盘扇区内容加载到内存。

m内存块中的内容

/n

为l

或w

命令指定文件,或者指定正在测试的文件的参数。

o向输出端口发送

1个字节的值。

p执行循环、重复的字符串指令、软件中断或子例程。

q停止

Debug

会话。

r显示或改变一个或多个寄存器。

s在部分内存中搜索一个或多个字节值的模式。

t执行一条指令,然后显示所有寄存器的内容、所有标志的状态和

Debug

下一步要执行的指令的解码形式。

u反汇编字节并显示相应的原语句。

w将被测试文件写入磁盘。

xa

分配扩展内存。

xd

释放扩展内存。

xm

映射扩展内存页。

xs

显示扩展内存的状态。

分隔命令参数

所有

Debug

命令都接受参数,除了

q命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价:

dcs:100

110

dcs:100

110

d,cs:100,110

指定有效地址项

Debug

命令中的

address

参数指定内存位置。Address

是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u

和w

命令的默认段是

CS。所有其他命令的默认段是

DS。所有数值均为十六进制格式。

有效地址如下:

CS:0100

04BA:0100

在段名和偏移量之间要有冒号。

指定有效范围项

Debug

命令中的

range

参数指定了内存的范围。可以为

range

选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由

l表示)。

例如,下面的两个语法都可以指定从

CS:100

开始的

16

字节范围:

cs:100

10f

cs:100

l10

++

Debug

子命令

选择

Debug

命令以获得详细信息。

Debug:A(汇编)

Debug:C(比较)

Debug(转储)

Debug:E(键入)

Debug:F(填充)

Debug:G(转向)

Debug:H(十六进制)

Debug:I(输入)

Debug:L(加载)

Debug:M(移动)

Debug:N(名称)

Debug:O(输出)

Debug:P(执行)

Debug:Q(退出)

Debug:r(寄存器)

Debug:s(搜索)

Debug:T(跟踪)

Debug:U(反汇编)

Debug:W(写入)

Debug:XA(分配扩展内存)

Debug:XD(取消分配扩展内存)

Debug:XM(映射扩展内存页)

Debug:XS(显示扩展内存状态)

汇编语言中如何运行指令

开始菜单->运行->输入"cmd"回车->输入"cd.."进入c盘根目录->输入"debug"调用程序运行指令->在debug中可以用"t"多指令运行,可以为任意数,单指令运行的时候只打"t"就可以.

没搞明白你说的是什么意思哦,你是说汇编程序编译好了,怎么运行,还是代码中想做调用啊!

soft,一款不错的软件

请参考

汇编语言debug 中 G命令怎么用

调试程序用t或p命令,也可以用g,但需带停止地址参数。

g不是跳转,是执行。

不带参数的g是从当前ip开始执行程序,如果程序没有设置返回dos的相关指令,执行结果未知。

带参数的g是从当前ip开始执行程序,直到参数地址停止。如:g200

是从当前ip开始执行程序到200停止

汇编语言怎么使用debug命令查看相加结果在哪里

ma文件夹下一般有:edit,link,debug

edit.exe是用来编辑代码的。

link.exe是用来链接可执行文件的

debug.exe是用来调试代码的

一般步骤是:

用命令行,先进入ma文件夹

>cmd

>d:

>cd ma

>edit text.a。编辑完后,保存退出。

>link text;然后回车

>text 执行

>debug text;回车

debug参数:

-d+段:显示存储器内容。

-e+段:修改存储器单元的内容。

-r+回车:显示寄存器内容。

-r+寄存器:修改寄存器内容。

-g=起始地址,结束地址:运行程序

-t=....:单步跟踪。

-p:跟踪。

-a:汇编。

-u:反汇编。

以上是用ma来写汇编代码。

你也可以直接用编译在一起的软件来写代码。

ma for windows集成环境系统,那里面省了前面的步骤。但是debug哪些参数仍然可以用。

祝你学好汇编代码。

用DEBUG将可执行文件装如内存后,执行6次P命令(即P回车),然后用D2 L1命令可看到RESULT中的内容。

你既然不想学,我想你肯定不想知道为什么。

同情一楼的苦口婆心。。。。。。

你自己都说不想学了,让别人帮看看好了。

汇编语言,debug调试的时候,怎样一步一步执行一个循环指令

用T命令,单步执行, 源程序及编译所得EXE文件运行截图如下:

;; ;;;;;;1加至100

ASSUME CS:CODE

CODE SEGMENT

ORG 100H

START: MOV AX, 0 ;; AX的和值清零

MOV CX, 0 ;; CX的加数清零

LP: INC CX ;; CX←CX +1

ADD AX, CX ;; AX←AX +CX

CMP CX, 100 ;; 将CX值与100比较

JB LP ;; 若CX < 100,转LP循环

INT 3 ;; 若CX=100,程序暂停,以便可看AX的和值

CODE ENDS

END START

汇编 DEBUG 下调试问题 二进制加减指令

这个程序段完成112233H+445566H,并把结果存放在sum单元

first

是这样定义的吧:

first

db

11h,22h,33h

second

db

44h,55h,66h

对应相加的话应该从位开始

所以应该是

MOV

AL,FIRST[BX]

这时bx=2,就相当于mov

al,first+2(变址寻址嘛)

也就是先计算33H+66H

然后依次计算22H+55H和11H+44H

后两次加法注意进位(使用adc指令)

不是只取后两位,而是从后两位开始相加

LEA

DI,SUM

ADD

DI,2

MOV

BX,2

MOV

AL,FIRST[BX]

ADD

AL,SECOND+2

先是后两位相加

MOV

[DI],AL

存结果

DEX

DI

这里应该是dec

di,di减一,指向中间字节

DEX

BX

这里也是dec

bx

MOV

AL,FIRST[BX]

ADC

AL,SECOND+1

中间字节相加,还有后两位的进位

MOV

[DI],AL

存结果

DEX

DI

还是dec

di

DEX

BX

一样的,也是dec

bx,指向字节

MOF

AL,FIRST[BX]

ADC

AL,SECOND

相加,还有中间两位相加的进位

MOV

[DI],AL

存结果

蜀门手游重装怎么升级快 蜀门手游重装怎么升级快
上一篇
lol手游火龙视频 lol手游火龙视频在哪看
下一篇
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 836084111@qq.com ,一经查实,本站将立刻删除。

相关推荐