繁体   English   中英

程序集MOV不起作用,Linux和INT代码列表的调试

[英]Assembly MOV doesn't work, Debug for Linux and INT code list

我在这里有问题...我正在使用debug(在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个问题,但我不想淹没很多主题,所以,我的最后一个问题是,在哪里可以找到某种中断列表? 我想找到一些带有机器代码功能的列表或手册。 例如,在彼得·诺顿(Peter Norton)的书中,当我在“ AH”寄存器中有“ 02h”时,我告诉DOS在屏幕上打印一个字符,他说:“如果要查找功能列表,可以查看您的DOS手册”,嗯,我找不到此dos手册(在Linux中,我们可以键入“ man”,并且我们提供了所有手册),Windows“帮助”功能仅是简单命令的列表,不是真正的手册像Unix的“男人”。

我尝试在Google中找到它,但是我发现每本“ DOS手册”都只向我显示了诸如“ cd,dir,format,time,blablabla”之类的简单功能,没有关于该系统的真正技术……我在查找“ AH”命令和功能的完整列表吗? 我知道INT 18h用于运行Basic,而INT 19h重新启动计算机(一个人对我说,他的18h不能运行Basic,而是重新启动计算机,而不是INT 19h)。 我还在Google中发现了2到3个事件,但没有“完整”列表,有人知道吗?

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

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

以下是有关linux调试器(建议使用GDB)的问题的解答: Linux Assembly Debugger

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

如果链接过期,请搜索“ Ralf Brown的中断列表”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM