Loops 如何在我的6800汇编代码中编辑循环的最后一个字符

Loops 如何在我的6800汇编代码中编辑循环的最后一个字符,loops,assembly,6800,Loops,Assembly,6800,这是我的6800摩托罗拉组件的代码。我想让最后一个角色是 “?”(用“#”字符填充每个屏幕位置,并以“?”结尾) 字符)。我尝试在循环外编码,但代码忽略了它,所以我删除了它,希望有人知道 screen .equ $fb00 ldx #screen reset ldaa #'#' start staa 0,x inx cpx #$ff38

这是我的6800摩托罗拉组件的代码。我想让最后一个角色是 “?”(用“#”字符填充每个屏幕位置,并以“?”结尾) 字符)。我尝试在循环外编码,但代码忽略了它,所以我删除了它,希望有人知道

            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
而不是有条件地向前跳过向后的无条件分支。