Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: