You are on page 1of 4

jmp near start

boot_id db 0,0,0,0,0,0,0,0
boot_b_kl dw 512
boot_SinCL db 1
boot_resS dw 1
boot_FATs db 2
boot_rootEl dw 224
boot_SinDSK dw 2880
boot_discr db 0F0h
boot_SinFAT dw 9
boot_SinCIL dw 18
boot_heads dw 2
boot_hidS dd 0
boot_countS dw 0
boot_sign db 0
boot_SN dd 0
boot_label db 255,255,0,0,0,0,0,0,0,0,0
boot_IDFS db 1,0,0,0,0,0,0,0
start:

[ORG 0]

jmp 07C0h:_start ;Goto segment 07C0

msg1 db 'Laboratorul'
lmsg1 EQU $-msg1

msg2 db 'nr1'
lmsg2 EQU $-msg2

msg3 db 'SOMIPP'
lmsg3 EQU $-msg3

msg4 db 'Cobilas'
lmsg4 EQU $-msg4

msg5 db 'Adrian'
lmsg5 EQU $-msg5

msg6 db 'Exempu de text nr1'


lmsg6 EQU $-msg6

msg7 db 'Exempu de text nr2'


lmsg7 EQU $-msg7

msg8 db 'Exempu de text nr3'


lmsg8 EQU $-msg8

color db 09,07,05,02,04,06
space db 57,46,35,20,10,5

_start:
; Update the segment registers
mov ax, cs
mov ds, ax
mov es, ax

mov ax, 03 ;curatirea ecranului


int 10h

mov si,0

a:
call printfirstrow
call printallrow

call interrup
call clear
call interrup

inc si
cmp si,6
je b
jne a
b:
mov si,0
jmp a

printfirstrow:

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,[color+si] ;attribute (blue on black)
mov cx,lmsg1 ;string length
mov dh,8 ;rindul de afisare
mov dl,25 ;coloana de afisare
mov bp,msg1
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,[color+si] ;attribute (blue on black)
mov cx,lmsg2 ;string length
mov dh,8 ;rindul de afisare
mov dl,37 ;coloana de afisare
mov bp,msg2
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,[color+si] ;attribute (blue on black)
mov cx,lmsg3 ;string length
mov dh,8 ;rindul de afisare
mov dl,41 ;coloana de afisare
mov bp,msg3
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,[color+si] ;attribute (blue on black)
mov cx,lmsg4 ;string length
mov dh,8 ;rindul de afisare
mov dl,48 ;coloana de afisare
mov bp,msg4
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,[color+si] ;attribute (blue on black)
mov cx,lmsg5 ;string length
mov dh,8 ;rindul de afisare
mov dl,56 ;coloana de afisare
mov bp,msg5
int 10h

ret

printallrow:

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,09 ;attribute (blue on black)
mov cx,lmsg6 ;string length
mov dh,10 ;rindul de afisare
mov dl,[space+si] ;coloana de afisare
mov bp,msg6
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,09 ;attribute (blue on black)
mov cx,lmsg7 ;string length
mov dh,12 ;rindul de afisare
mov dl,[space+si] ;coloana de afisare
mov bp,msg7
int 10h

mov ah,13h ;numarul functiei


mov al,1 ;write mode (advance cursor, ASCII
string)
mov bh,0 ;numarul paginii video active
mov bl,09 ;attribute (blue on black)
mov cx,lmsg8 ;string length
mov dh,14 ;rindul de afisare
mov dl,[space+si] ;coloana de afisare
mov bp,msg8
int 10h

ret

interrup:
mov cx,000ah
mov dx,0000h
mov ah,86h
int 15h
ret

clear:
mov ax, 03 ;curatirea ecranului
int 10h

ret

times 510-($-$$) db 0
dw 0AA55h

You might also like