如何在 68000 汇编中显示负数?

How do you display a negative number in 68000 assembly?

我想我在这里遗漏了一些东西,因为这应该很容易,但我就是不知道如何显示负数。我只希望我的程序在溢出时输出 -1,但它一直显示 65535。我只是不太明白负数在 68k 中的一般工作原理。我试过这样:

MOVE.W   #-1,D1
MOVE     #3,D0
TRAP     #15

像这样:

MOVE.W   #1,D1
NEG      D1
MOVE     #3,D0
TRAP     #15

所以我不确定问题是否仅在于获取负数以显示或存储它或两者兼而有之。感谢您的帮助!

一般来说,除非使用的编程语言内置了输出有符号数的方式,否则显示有符号值的正确方法是测试它们是否为负数,如果是,则反转它们并输出一个-。然后使用任何方法来处理无符号数。在某些情况下,可能需要在处理完所有其他内容之后再处理 -(例如,如果有人正在利用某些 LCD 控制器以从右到左的顺序处理数据的能力,则可能会以最低位输出数字-第一顺序,一旦残差为零就停止,然后在需要时输出“-”,最后输出足够的空白来填充字段)但是可以通过让 "output number" 例程接受一个指示参数来适应这些事情什么字符,如果有的话,应该在数字之前;然后,调用者可以根据需要传递“+”、“-”或“”。