T1JHIDAwMDBICgpNT1YgUjAsICMzMEggICAgICA7IFN0YXJ0aW5nIGFkZHJlc3Mgb2YgYXJyYXkKTU9WIFIyLCAjMDVIICAgICAgOyBOdW1iZXIgb2YgZWxlbWVudHMgKG4pCkRFQyBSMiAgICAgICAgICAgIDsgbi0xIHBhc3NlcwoKQkFDSzogTU9WIFIxLCBSMiAgOyBJbm5lciBsb29wIGNvdW50ZXIKICAgICAgTU9WIFIwLCAjMzBICgpMT09QOiBNT1YgQSwgQFIwCiAgICAgIElOQyBSMAogICAgICBNT1YgQiwgQFIwCiAgICAgIENKTkUgQSwgQiwgQ0hFQ0sKICAgICAgU0pNUCBORVhUCgpDSEVDSzogSkMgTkVYVCAgICAgOyBJZiBBICZsdDsgQiwgbm8gc3dhcAogICAgICAgTU9WIEBSMCwgQQogICAgICAgREVDIFIwCiAgICAgICBNT1YgQFIwLCBCCiAgICAgICBJTkMgUjAKCk5FWFQ6IERKTlogUjEsIExPT1AKICAgICAgREpOWiBSMiwgQkFDSwoKRU5E
ORG 0000H
MOV R0, #30H ; Starting address of array
MOV R2, #05H ; Number of elements (n)
DEC R2 ; n-1 passes
BACK: MOV R1, R2 ; Inner loop counter
MOV R0, #30H
LOOP: MOV A, @R0
INC R0
MOV B, @R0
CJNE A, B, CHECK
SJMP NEXT
CHECK: JC NEXT ; If A < B, no swap
MOV @R0, A
DEC R0
MOV @R0, B
INC R0
NEXT: DJNZ R1, LOOP
DJNZ R2, BACK
END