加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

字符串 – DASM汇编程序中的ASCII到C64屏幕代码

发布时间:2020-12-16 10:14:00 所属栏目:百科 来源:网络整理
导读:我正在通过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 ;store this bit in row 0
我正在通过C64仿真器学习6502微型装配.目前正在尝试将字符串输出到屏幕.这是我的代码:

processor 6502
    org $1000

    ldx #$00    ;using x register as column counter
print:
    lda message,x;load a with x bit from message
    sta $0400,x ;store this bit in row 0 col 0 address
    inx         ;x++
    cpx #$05    ;is x >= 5?
    bne print   ;if not x >= 5,loop again
    rts         ;return from program


message dc "HELLO"
hexmsg dc $08,$05,$0c,$0f

因为我的编辑器(win 10上的记事本)使用类似ascii的字符代码,所以消息中的“HELLO”是位48 45 4C 4C 4F.这会在屏幕的左上角显示以下输出:

enter image description here

通过查看商品屏幕代码表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转换.

label SCRU  "string"
label SCRL  "string"

即使输入小写,SCRU也用于制作大写文本. SCRL保持套管.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读