Loops 如何在我的6800汇编代码中编辑循环的最后一个字符
这是我的6800摩托罗拉组件的代码。我想让最后一个角色是 “?”(用“#”字符填充每个屏幕位置,并以“?”结尾) 字符)。我尝试在循环外编码,但代码忽略了它,所以我删除了它,希望有人知道Loops 如何在我的6800汇编代码中编辑循环的最后一个字符,loops,assembly,6800,Loops,Assembly,6800,这是我的6800摩托罗拉组件的代码。我想让最后一个角色是 “?”(用“#”字符填充每个屏幕位置,并以“?”结尾) 字符)。我尝试在循环外编码,但代码忽略了它,所以我删除了它,希望有人知道 screen .equ $fb00 ldx #screen reset ldaa #'#' start staa 0,x inx cpx #$ff38
screen .equ $fb00
ldx #screen
reset ldaa #'#'
start staa 0,x
inx
cpx #$ff38
beq theend
bra start
theend nop
.end
循环后的代码似乎不太可能被“忽略”;您可能只是存储到了错误的地址。(例如,已经在屏幕末尾增加了X。)但我们不知道,因为这不是您尝试的结果。你能不能把循环的边界减少1,这样你就可以退出循环,让X指向你想要存储a
?“
,然后是ldaa/staa?此外,更容易bne start
而不是有条件地向前跳过向后的无条件分支。