在记录我的输出时,我在清除内存中的尾随垃圾时遇到了问题。
我的D1中有一个数字n,在D2中也有一个。
每当我记录它们时,都会出现如下所示:
1-20012
但我只想要1-2
我只想知道如何能够选择我的数据寄存器中的某些字节并将它们放入内存中(在ds.b声明的存储中,标签结果的大小为40字节)。
比方说,如果我将1存储在我的标签"result“($0000 2450)的起始地址中,那么”1“将只占用1个字节,”-“符号以及”2“也将占用1个字节。因此,这些内容将存储在$0000 2450 - $0000 2452的范围内。问题是,下面的字节地址包含以前操作的垃圾,我不允许手动清除它们。我需要开发一种方法来在运行时清除它们。
如何忽略与'1-2‘打印一起记录的以下垃圾字节?
谢谢你的帮助!
发布于 2014-12-17 19:04:51
就像@Jester建议的那样,也许你应该用NUL字符结束字符串。
move.l #result,a0
move.b d1,(a0)+ ;Or maybe call a subroutine to convert from decimal?
move.b #'-',(a0)+
move.b d2,(a0)+
clr.b (a0) ;Clear last byte.或者,如果您想要使用写入的字节数:
move.b #result,a0
move.b d1,(a0)+
move.b #'-',(a0)+
move.b d2,(a0)+
sub.l #result,a0 ;A0 is now the number of bytes to log.https://stackoverflow.com/questions/27497499
复制相似问题