|
|
|
[org 0x1000]
|
|
|
|
|
|
|
|
start:
|
|
|
|
mov ah, 01h ;make cursor invisible
|
|
|
|
mov cx, 2607h
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov ah, 06h ; Scroll up function
|
|
|
|
xor al, al ; Clear entire screen
|
|
|
|
xor cx, cx ; Upper left corner CH=row, CL=column
|
|
|
|
mov dx, 184FH ; lower right corner DH=row, DL=column
|
|
|
|
mov bh, 1Eh ; YellowOnBlue
|
|
|
|
int 10H ; execute interrupt
|
|
|
|
|
|
|
|
mov ah, 06h ;draw rect on background
|
|
|
|
mov cx, 0101h
|
|
|
|
mov dx, 164Dh
|
|
|
|
mov bh, 3Eh
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov ah, 06h ;draw shadow
|
|
|
|
mov cx, 1702h
|
|
|
|
mov dx, 174Eh
|
|
|
|
mov bh, 0Eh
|
|
|
|
int 10h
|
|
|
|
mov ah, 06h ;draw shadow
|
|
|
|
mov cx, 024Eh
|
|
|
|
mov dx, 174Eh
|
|
|
|
mov bh, 0Eh
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
|
|
mov ah, 02h ;sets cursor to top to write
|
|
|
|
mov bh, 0h
|
|
|
|
mov dh, 1h
|
|
|
|
mov dl, 1h
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov al, 0xC9 ;draw border
|
|
|
|
mov bl, 0x03
|
|
|
|
mov ah,0x0e
|
|
|
|
int 10h
|
|
|
|
mov al, 0xCD
|
|
|
|
mov bl, 0x03
|
|
|
|
mov ah,0x0e
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov ah, 02h ;sets cursor to top to write
|
|
|
|
mov bh, 0h
|
|
|
|
mov dh, 4h
|
|
|
|
mov dl, 4h
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov si, msg1
|
|
|
|
call print
|
|
|
|
|
|
|
|
|
|
|
|
print_projects:
|
|
|
|
mov ah, 02h ;sets cursor to top to write
|
|
|
|
mov bh, 0h
|
|
|
|
mov dh, 6h ;row
|
|
|
|
mov dl, 4h ;col
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
xor bx, bx ; Starting at offset zero
|
|
|
|
lea di, [projects] ; RDI now has the address of the array
|
|
|
|
|
|
|
|
.loop
|
|
|
|
mov ah, 02h
|
|
|
|
;mov bh, 0h
|
|
|
|
add dh, 1h ;move cursor down
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
mov si, [di+bx] ; Get the address of string1
|
|
|
|
call print
|
|
|
|
add bx, 8
|
|
|
|
cmp bx, 48
|
|
|
|
jne .loop
|
|
|
|
|
|
|
|
jmp exit
|
|
|
|
|
|
|
|
|
|
|
|
print:
|
|
|
|
lodsb
|
|
|
|
or al,al
|
|
|
|
jz exit
|
|
|
|
;mov bl, 0x03
|
|
|
|
mov ah,0x0e
|
|
|
|
int 10h
|
|
|
|
jmp print
|
|
|
|
exit:
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
msg1 db " X P U B",0x0A,0
|
|
|
|
msg2 db " NOT MY DEFAULT",0x0D,0x0A,0
|
|
|
|
|
|
|
|
project1 db "Alex / Poetic Software", 0x0A,0
|
|
|
|
project2 db "Tash / Silence Making", 0x0A,0
|
|
|
|
project3 db "Alice / F00d", 0x0A,0
|
|
|
|
project4 db "Joca / The ghost in the speaker", 0x0A,0
|
|
|
|
project5 db "Angeliki / Voices", 0x0A,0
|
|
|
|
project6 db "Zalan / Phantasmagoria", 0x0A,0
|
|
|
|
|
|
|
|
projects dq project1, project2, project3, project4, project5, project6
|