【问题标题】:Assembly MOV doesn't work, Debug for Linux and INT code list汇编 MOV 不起作用,调试 Linux 和 INT 代码列表
【发布时间】:2013-05-13 07:47:19
【问题描述】:

我这里有个问题... 我正在使用调试(在 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 的“人”。

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

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

【问题讨论】:

    标签: linux debugging assembly mov interruptions


    【解决方案1】:

    【讨论】:

    • 谢谢德克!现在我工作得很好!我不知道为什么需要uso =cs:0100 0102,但它确实有效,我会阅读手册看看是否找到解释!感谢您的链接,它们对我来说看起来很糟糕,但我可以找到文件的名称,user2357782 也放置了相同的列表(我认为)。真的谢谢大佬!干杯!
    【解决方案2】:

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

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

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

    万一链接过时搜索“Ralf Brown's Interrupt List”

    【讨论】:

    • 提到的 Linux 调试器之一是 Terry Loveall 的。他采用了 Patrick Alken 的 ALD 并集成了一些 Nasm 代码来给它一个 -a 命令。 Terry 的“Coughing Up A Furball”页面似乎消失了,但我这里有一份副本:home.myfairpoint.net/fbkotler/debug-0.0.21.tgz Gdb 可能“更好”(-F dwarf 切换到 Nasm 可能会有所帮助),但这是“像 DEBUG”...如果这是一个“功能”。 :)
    • 真的感谢user2357782和Frank Kotler,我会试试的。感谢您的关注。干杯!中断列表很棒!谢谢! ;D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2014-08-09
    相关资源
    最近更新 更多