0

我在这里遇到问题...我正在使用调试(在 cmd/ms-dos 中)来学习一些东西并执行一些命令...我将AX 设置为 1234并将DX 设置为 ABCD。所以,我做了' -a 100 '来注册一条指令,我做了: mov ah,dl 他们“ -g ”(因为我设置了一个中断)或“-g 102”来执行指令并在102偏移之前停止(如果我没有设置中断)。当我执行-r向我显示寄存器值时,它们保持不变,这应该是AX:CD34,但AX 是 1234,看起来 MOV 命令不起作用......我做错了什么?

http://img203.imageshack.us/img203/4866/movdxdldoesntworks.png

(对不起链接,我需要声誉才能发布图片)

我也想知道是否存在类似 Windows Debug to Linux 之类的东西,我的意思是,我的 Linux 安装(基于 Debian)中有 nasm 和 yasm,但它只是一个编译器,我需要将代码写入文件,并且编译它运行,我们有一些用于 Linux 中 ASM 的“模拟器”或“调试”工具吗?像上图中的Debug windows软件?

最后一件事,很抱歉用 3 个问题让信息这么长,但我不想“泛滥”很多话题,所以,我的最后一个问题是我在哪里可以找到某种中断列表?我想找到一些带有机器代码功能的列表或手册。例如,在彼得诺顿​​的书中,当我在“AH”寄存器中有“02h”时,我告诉 DOS 在屏幕上打印一个字符,他说“如果你想找到一个函数列表,你可以看看你的 DOS 手册”,好吧,我找不到这个 DOS 手册(在 linux 中我们可以输入“man”,我们有所有的手册),windows 的“帮助”功能只是简单命令的列表,不是真正的手册像unix“人”。

我试图在谷歌中找到它,但我发现的每一个“DOS 手册”都只向我展示了简单的功能,如“cd、dir、格式、时间、blablabla”,没有关于系统或其他东西的真正技术......你能帮忙吗?我能找到一些完整的“AH”命令和函数列表吗?我知道 INT 18h 用于运行 Basic 并且 INT 19h 重新启动计算机(一个人对我说,他的 18h 不运行基本但重新启动计算机而不是 INT 19h)。我还在 Google 中发现了 2 或 3 次以上出现,但不是“完整”列表,有人有吗?

感谢您的帮助,耐心和关注,我爱你!;)

4

2 回答 2

0

很难说为什么它在您的调试器中不起作用。您是否尝试在程序中键入此内容并在其末尾放置断点以查看结果?

这是关于 linux 调试器的问题的答案(他们推荐 GDB): Linux Assembly Debugger

对于第三个问题,您有一个很好的关于中断的信息来源:http ://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

万一链接过时搜索“拉尔夫布朗的中断列表”

于 2013-05-13T10:40:30.537 回答
0

请再试一次:

.g=cs:0100 0102

http://www.armory.com/~rstevew/Public/Tutor/Debug/debug-manual.html

…………

RBIL : Ralf Browns x86/MSDOS 中断列表

http://www.pobox.com/~ralf

http://www.pobox.com/~ralf/files.html

ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/

短剑

于 2013-05-13T11:34:05.793 回答