概述我正在通过C64仿真器学习6502微型装配.目前正在尝试将字符串输出到屏幕
.这是我的代码: processor 6502 org $1000 ldx #$00 ;using x register as column counterprint: lda message,x;load a with x bit from message sta $0400,x
我正在通过C64仿真器学习6502微型装配.目前正在尝试将字符串输出到屏幕.这是我的代码:label SCRU "string"label SCRL "string"processor 6502 org 00 ldx #
;using x register as column counterprint: lda message,x;load a with x bit from message sta 00,x ;store this bit in row 0 col 0 address inx ;x++ cpx # ;is x >= 5? bne print ;if not x >= 5,loop again rts ;return from programmessage dc "HELLO"hexmsg dc ,,c,f
因为我的编辑器(win 10上的记事本)使用类似ascii的字符代码,所以消息中的“HELLO”是位48 45 4C 4C 4F.这会在屏幕的左上角显示以下输出:
通过查看商品屏幕代码表here,这是正确的.
如果我将第6行更改为lda hexmsg,x然后我就会得到我正在追求的内容,即HELLO这个词. 我还不熟悉DASM汇编程序
,并且无法找到它的完整文档(如果存在).我发现的大多数教程只是你声明了消息.byte“HELLO”或类似的东西,它只是起作用,因为他们使用的汇编程序自动将类似ascii的文本字符串自动转换为商品字符串,但DASM看起来不像要做到这一点.
有没有人知道我可以让DASM这样做的方法,或者推荐另一种方法来简单地将字符串键入汇编程序而不是手动输入我的字符串作为一堆十六进制数据?
解决方法 这是DASM aseembler的补丁版本.
http://iancoog.altervista.org/C/dasm2.20.07-iAN_Rev_N.rar您可以使用SCRU和SCRL指令转换ASCII-> Screencode转换.
即使输入小写,SCRU也用于制作大写文本. SCRL保持套管.总结
以上是内存溢出为你收集整理的字符串 – DASM汇编程序中的ASCII到C64屏幕代码全部内容,希望文章能够帮你解决字符串 – DASM汇编程序中的ASCII到C64屏幕代码所遇到的程序开发问题。
评论列表(0条)