V zadaném řetězci program změní na velká počáteční písmena slova, která jsou alespoň 3 znaky dlouhá.

.h8300s

.data ; začátek datové sekce
TEXT: .asciz „my mame RAdi lok lok blok kotata o 345psu i Ty psy“

.text ; začátek kódové sekce
.global _start ; _start je globální návěští

_start:
MOV.L #TEXT, ER0 ;presunu odkaz na zacatek textu
MOV.L #TEXT, ER1 ;presunu odkaz na zacatek textu

xor.l ER2,ER2 ;vymazu registru pro cokoli
xor.l ER3,ER3
xor.l ER4,ER4
xor.l ER5,ER5
xor.l ER6,ER6
xor.l ER7,ER7
MOV.B @ER0, R7H ;nahraji adresu prvniho znaku retezce do registru

smycka: MOV.B @ER1, R7L; ;nahraji adresu prvniho znaku retezce do registru
add.b #1,R6L ;zvysim pocitadlo delky retezce
CMP.B #0,R7L ;pokud je znak konec retezce
beq nastavKonec ;pokud je konec,presunu se na nastaveni testu pred koncem
CMP.B #' ',R7L ;pokud je znak mezera
beq testZvysit ;skocim na test pro zvyseni retezce
INC.L #1,ER1 ;posunu ukazatel na retezec o jeden znak
bra smycka ;vratim se na zacatek cyklu smycka

testZvysit: CMP.B #3,R6L ;pokud je retezec aspon 3 znaky dlouhy
BHI zvysit ;zvysime znak na velky
XOR.B R6L,R6L ;pokud ne,vynulujeme pocitadlo
INC.L #1,ER1 ;posuneme ukazatel o znak
mov.l ER1, ER0 ;zkopirujeme z prubezneho ukazatele do ukazatele pro upravy
mov.b @ER0, R7H ;nacteme dalsi znak
bra smycka ;skocime zpet do smycky

zvysit: CMP.B #96,R7H ;pokud je pismeno velke
BLO jeVelke ;pokud je hodnota mensi nez 97,je velke
add.b #-32,R7H; ;jinak je male a zvysime ho,tedy odecteme od ascii 32
mov.b R7H,@ER0 ;upraveny znak nahrajeme zpet do pameti
INC.L #1,ER1 ;zvysime ukazatel o jedna
mov.l ER1, ER0 ;zkopirujeme z prubezneho ukazatele do ukazatele pro upravy
mov.b @ER0, R7H ;nacteme z pameti dalsi znak
XOR.B R6L,R6L ;a vynulujeme pocitadlo delky retezce
bra smycka ;vratime se zpet do cyklu smycka

jeVelke:INC.L #1,ER1 ;nezvysujeme,pouze posuneme ukazatel o jednu vys
mov.l ER1, ER0 ;zkopirujeme z prubezneho ukazatele do ukazatele pro upravy
mov.b @ER0, R7H ;nacteme dalsi znak do registru
XOR.B R6L,R6L ;vymazeme pocitadlo
bra smycka ;vratime se do smycky

nastavKonec: CMP.B #3,R6L ;pokud je slovo mene nez 3 znaky dlouhe
BLO konec ;ukoncime beh programu
CMP.B #96,R7H ;dame test zda je velke
BLO konec ;a pokud je velke,zkoncime
add.b #-32,R7H; ;jinak zvetsime pismeno
mov.b R7H,@ER0;ulozime ho do pameti
bra konec ;ukoncime program

konec: bra konec ; nekonečná smyčka na konci
.end