label1: ; lista_sorterad = 1 load 0 1 0001 store 0 0 d0 ; addr = e0 load 0 1 00e0 store 0 0 d1 label2: ; tmp1 = pm(addr) load 0 2 d1 store 0 0 d3 ; tmp2 = pm(addr + 1) load 0 0 d1 add 0 1 0001 store 0 0 d2 load 0 2 d2 store 0 0 d4 ; tmp1 > tmp2? load 0 0 d3 cmp 0 0 d4 beq no_swap bge swap bra no_swap swap: load 0 2 d1 load 1 2 d2 store 0 2 d2 store 1 2 d1 ; lista_sorterad = 0 load 0 1 0000 store 0 0 d0 no_swap: ; räkna upp addr load 0 0 d1 add 0 1 0001 store 0 0 d1 ; addr = 0xff? load 0 0 d1 cmp 0 1 00ff bne label2 ; lista_sorterad = 1? load 0 0 d0 cmp 0 1 0001 bne label1 halt