zdravim, mam program na nacitanie a nasledne vypisanie textu. divna otazka, ale: ide v tom programe nieco zmenit aby "vyzeral" inak? sice chapem co ten program robi, ale moje vedomosti z assembleru su velmi chabe a nedari sa mi upravit program tak aby mal odlisne prvky s originalnym.
.Data
IOBuffer DB 200 dup (?) ; pole 200 znakov
.Code
Read PROC; procedura
citaj:
mov ah,1; nacitanie znaku z klavesnice dosovska sluzba ktora sluzi na nacitanie..
int 21h; zavola dos okno
mov [bx+di],al ; presuniem z al nacitany znak do bx..di indexy
cmp al,13 ; al13 ci bol stlaceny enter
jz ent ; skoc na ent jz
inc di ; inkrementuje di
jmp citaj ; citaj kym nie je enter
ent:
mov dl,10 ; register posunie sa o riadok dole len pri 0
mov ah,2 ; kurzor sa posenie dole
int 21h
xor di,di ; vynolovanie di
ret
Read ENDP
Write PROC
pis:
xor di,di
char:
mov dl,[bx+di]; nulty znak do dl
cmp dl,13
jz ukonci
mov ah,2 ; vypis jedneho znaku
int 21h
inc di
jmp char
ukonci:
ret
Write ENDP
Prog:
mov ax,@data ; uloz bazovu adresu datoveho segmentu do ax
mov ds,ax ; uloz bazovu adresu datoveho segmentu do ds
lea bx,IOBuffer ;nacita prvu poziciu pola
xor di,di
call Read
call Write
koniec:
mov ax,4C00h ;nastavenie pre OS
int 21h ; opat prerusenie DOS-u, koniec aplikacie
End Prog