cos2000v1/programs/logo.asm

115 lines
1.5 KiB
NASM

.model tiny
.486
smart
.code
org 0h
include ..\include\mem.h
start:
header exe <,1,0,,,offset imports,,>
realstart:
mov ah,7
mov cx,65535
int 49h
jc problem3
push gs
pop es
mov ah,7
mov cx,65535
int 49h
jc problem3
mov si,offset logo
mov ah,4
xor di,di
int 48h
jc problem
push es
pop ds
push gs
pop es
xor si,si
xor di,di
mov ah,6
int 48h
jc problem2
push es
pop ds
mov ah,28h
int 47h
mov ax,0008h
int 47h
mov ah,2
int 47h
push 0
call cs:[loadbmppalet]
push 150
push 20
push 0
call cs:[showbmp]
jc problem4
push cs
pop ds
push offset poper
call [print]
endofit:
xor ax,ax
int 16h
mov ah,29h
int 47h
retf
problem:
push cs
pop ds
push offset error
call [print]
jmp endofit
problem2:
push cs
pop ds
push offset error2
call [print]
jmp endofit
problem3:
push cs
pop ds
push offset error3
call [print]
jmp endofit
problem4:
push cs
pop ds
push offset error4
call [print]
jmp endofit
poper db '\c0BC\c0CO\c0DS\c0E2\c0E0\c0E0\c0F0 en mode graphique',0
logo db 'cos.rip',0
ok1 db 'Chargement de l''image OK',0
ok2 db 'Decompression de l''image OK',0
error3 db '\c04Une erreur est apparue lors de l''allocation de mémoire',0
error db '\c04Une erreur est apparue lors du chargement de l''image',0
error2 db '\c04Une erreur est apparue lors de la decompression de l''image',0
error4 db '\c0FUne erreur est apparue lors de l''affichage de l''image',0
imports:
db "VIDEO.LIB::print",0
print dd 0
db "BMP.LIB::showbmp",0
showbmp dd 0
db "BMP.LIB::loadbmppalet",0
loadbmppalet dd 0
dw 0
end start