【发布时间】:2017-05-18 03:58:40
【问题描述】:
晚安,在 Assembly 16-BITS 中接收 simple char 作为参数的最简单方法是什么,并进行比较以测试是否正确?我花了 2 天时间寻找如何做到这一点的示例,但没有人为我工作... 我试过了 code from StackOverflow 但它不起作用,dx 有 81h 没有我需要的字符的十六进制。我是 Assembly 的新手,所以我需要一些代码示例来理解...我想要尽可能简单的方法,我不想浪费你的时间 ... 谢谢。 在 MS-DOS shell 中,我将调用我的程序,前面带有一个字符,例如 "MOVE A"。上面引用的代码中的示例类似于 Echo,但我无法比较命令行中插入的字符。我使用的是 Windows 98 和 TASM 4.1 我尝试了 13.3.12 章 链接中引用的 Art of Assembly 书的示例,该书谈论的是 PSP,而且,不适用于我需要的东西。我认为人们不理解我想学的东西。 谢谢大家
【问题讨论】:
-
我们了解您想要什么,您不了解我们。你确实需要它来自 PSP,偏移 81h。该示例代码加载了地址,因为您需要该地址。否则,您可以只使用
mov al, [81h]或cmp [81h], 'a'或类似名称。 PS:尽量少用粗体,谢谢。 -
这正是我要说的!我尝试了很多方法,但都不起作用。似乎 char 不去注册....
-
是的,当然。而且我不知道如何调试和编程需要参数才能工作。我几乎要放弃它了...
-
也不起作用photo 在这个测试中,程序只有在发送 A 时才会打印。但它没有
标签: assembly command-line x86 dos tasm