label code comment
updateMovement ldx Ents.movementPtr - lda YXDeltas,x cmp #$AA bne + ldx Ents.movementPtrBase stx Ents.movementPtr jmp - + clc adc Ents.y sta Ents.y inx lda YXDeltas,x beq _endAdd bmi _sub clc adc Ents.x sta Ents.x bcc _endAdd inc Ents.xMSB jmp _endAdd _sub clc adc Ents.x sta Ents.x lda Ents.xMSB adc #$ff sta Ents.xMSB _endAdd inx stx Ents.movementPtr rts
bmi C beq B A A A bne C A A jmp D B B B B beq D C C C C D D D
when it goes all spaghetti
for i in 1..30 { ldx so+i lda yv,x ldy so+i-1 cmp yv,y bge next sty so+i ldy so+i-2 cmp yv,y bge swap1 sty so+i-1 ldy so+i-3 cmp yv,y bge swap2 jmp abort swap2 stx so+i-2 jmp reload swap1 stx so+i-1 reload ldx so+i next } ; 51 bytes per pair, *31 = 1550 bytes (less a bit for the first few entries)
asm doesn't have block-level scope. And if there are assemblers that support that, those are retarded.