Kód:
.MODEL SMALL
.STACK 50H
.data
zadaj DB 13,10,'Zadaj retazec a stlac ENTER: $'
vysledok DB 13,10,'Retazec odzadu: $'
dlzka DB 0FFh
text DB '' ; tu sa bude ukladat "zadavany retazec"
.CODE
org 100h
START:
mov ax,@data
MOV DS,AX
mov ah,09h
lea dx,zadaj
int 21h ; zobrazi sa vyzva na zadanie retazca
lea dx, dlzka ;nastavi do dx adresu ulozenej max dlzky retazca
;zaroven od tej adresy bude ukladat nacitany retazec
mov ah,0Ah ;sluzba na nacitanie retazca ukonceneho ENTER
int 21h
lea bx, text ; do bx adresu data seg.
xor CX, CX ; CX <--- 0
mov CL, [bx] ; CL ... dlzka nacitaneho textu
MOV DI, CX
lea dx,vysledok
mov ah,09h
int 21h ; zobrazi text "Retazec odzadu..."
cely_retazec:
cmp DI,0
je koniec ; koniec ?
mov AL, [text+DI]
mov DL, AL ;
mov ah,02h ;
int 21h ;vypisanie znaku (cislice)
dec DI ; dalsi znak v zdrojovom retazci
jmp cely_retazec
koniec:
MOV AX,4C00H
INT 21H ; koniec
END START