Assembly xa汇编程序:16位立即数操作数
我试图使用xa来组装一些65816程序集,但当遇到16位立即数操作数时,它会抱怨溢出错误,例如Assembly xa汇编程序:16位立即数操作数,assembly,Assembly,我试图使用xa来组装一些65816程序集,但当遇到16位立即数操作数时,它会抱怨溢出错误,例如 bit #$100 对于适合1字节的参数,这种情况不会发生,因此它显然是假设8位累加器而不是16位累加器。如何指示累加器应为16位?我正在使用-w开关启用65816操作码,但这没有帮助。在wla dx中,可以在操作码后面加上.w后缀,明确告诉它使用16位版本的操作码,但xa不明白这一点。更彻底地阅读xa手册页,可以发现这些伪操作: .as: Makes A register 8 bit .al:
bit #$100
对于适合1字节的参数,这种情况不会发生,因此它显然是假设8位累加器而不是16位累加器。如何指示累加器应为16位?我正在使用-w开关启用65816操作码,但这没有帮助。在wla dx中,可以在操作码后面加上.w后缀,明确告诉它使用16位版本的操作码,但xa不明白这一点。更彻底地阅读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解决了这个问题