我正在尝试使用xa
来组装一些65816程序集,但是当它遇到16位立即操作数时会抱怨“溢出错误”,例如
bit #$100
对于适合1个字节的参数,不会发生这种情况,所以它显然假定为8位累加器而不是16位累加器。如何指示累加器应为16位?我使用-w
开关启用65816操作码,但这没有用。在wla-dx
中,可以使用.w后缀操作码以明确告诉它使用16位版本的操作码,但xa
不明白。
答案 0 :(得分:0)
对xa
手册页的更全面阅读揭示了这些伪操作:
.as: Makes A register 8 bit
.al: Makes A register 16 bit
.xs: Makes XY registers 8 bit
.xl: Makes XY registers 16 bit
所以我通过在文件的开头插入.al : .xl
解决了这个问题。