Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by dzonatanas ( 14 years ago )
;Laboratorinis darbas Nr. 2
;Uzduotis: Parasyti spausdinimo programa, panaudojant
;proceduras ir teksto pozicjos ekrane keitima
stekas segment stack
db 256 dup(?)
stekas ends
duomenys segment
;kintamuju-tekstu, kuriuos isves programa aprasymas
tekstas1 db 'Laboratorinis darbas Nr.2 Proceduros.',13,10,'$'
tekstas2 db 'Atliko Jonas Vaitkevicius, IINT-12/1, 2012-11.',13,10,'$'
tekstas3 db 'Programa atspausdina keleta eiluciu teksto i ekrana.',13,10,'$'
duomenys ends
programa segment
start:
assume ss:stekas, ds:duomenys, cs:programa
MOV AX,duomenys
MOV DS,AX ;uzkraunam duomenu segmento adresa
;supaprastintas spausdinimas ir centravimas
;panaudojant proceduras
MOV AL,5 ;ivedam eilutes numeri, kuri naudos procedura
MOV CL,21 ;ivedam stulpelio numeri, kuri naudos procedura
call centravimas ;kvieciame centravimo procedura
LEA DX,tekstas1 ;ivedam pirmo pranesimo adresa
call spausdinimas ;kvieciame spausdinimo procedura
MOV AL,10
MOV CL,17
call centravimas
LEA DX,tekstas2
call spausdinimas
MOV AL,15
MOV CL,13
call centravimas
LEA DX,tekstas3
call spausdinimas
;isejimas i DOS
MOV AH,4Ch
INT 21h
programa ends
;spausdinimo procedura
spausdinimas PROC
MOV AH,09h
INT 21h ;isspausdina kazkoki teksta kurio adresas
;pries tai pagrindineje programoje buvo
;nukopijuotas i DX registra
ret ;griztame i programa
spausdinimas ENDP
;koordinates nuo kurios bus spausdinamas tekstas nustatymas
centravimas PROC
mov ah,2 ;pasiruosia teksto centravimui ah>>2
mov dh,al ;al>>dh eilutes numeris, al reiksme paruosiama pagrindineje programoje
mov dl,cl ;cl>>dl stulpelio numeris, cl reiksme paruosiama pagrindineje programoje
mov bh,0
int 10h
ret
centravimas ENDP
END start
Revise this Paste