小编Dav*_*ett的帖子

发送字符串到串行错误,6809 程序集,初学者

我已经构建了一个简单的单板计算机,并正在尝试学习 6809 汇编语言。我已经运行了一些简单的东西,例如通过 6850 ACIA 进行 Echo。我正在尝试打印一个字符串,但被卡住了。

该字符串位于 ROM 中并以空零结尾。我加载 X 寄存器以指向字符串的开头。后来我将X指向的字符加载到A寄存器中,并且X递增。然后在将字符输出到 ACIA 之前测试空零。我已将一个简单的逻辑分析仪连接到数据总线,并且知道没有任何内容输出到 ACIA,因为它看到零而不是第一个字符,并认为字符串已完成。我在代码中看不到错误,它可能与硬件相关,但需要有经验的眼睛来检查它,以防我犯初学者错误。

这是装配图:


*******************************EQUATES****************************************
    ***ACIA register definitions****
ACIA_control EQU $A000 ;write only
ACIA_status EQU $A000 ;read only
ACIA_data EQU $A001 ;read/write

********************************STRING CONSTANT******************************
    ORG $C000 ; ROM starts here

    ***store string to send out on serial***
    *Pseudo op FCN stores characters in sequential bytes,
    *and automatically adds null zero.
   

start_of_string
    FCN "The quick brown fox jumps over the lazy dog"

**********************************SETUP****************************************
setup

    ***reset_ACIA***
    LDA #%00000011
    STA ACIA_control …
Run Code Online (Sandbox Code Playgroud)

string assembly serial-port retro-computing

1
推荐指数
1
解决办法
112
查看次数

标签 统计

assembly ×1

retro-computing ×1

serial-port ×1

string ×1