feat: mise à jour du code pour compilation sur LZASM en stdcall

This commit is contained in:
Nicolas Hordé 2007-03-28 15:53:56 +00:00
parent 2f20a86d11
commit e1b6696324
1 changed files with 66 additions and 89 deletions

View File

@ -1,96 +1,69 @@
.model tiny
.486
smart
.code
model tiny,stdcall
p586N
locals
jumps
codeseg
option procalign:byte
include "..\include\mem.h"
include "..\include\divers.h"
org 0h
include ..\include\mem.h
start:
header exe <,1,0,,,offset imports,,>
header exe <"CE",1,0,0,,offset imports,,offset realstart>
realstart:
mov ah,7
mov cx,65535
int 49h
call [cs:mballoc],65535
jc problem3
push gs
push ax
pop es
mov ah,7
mov cx,65535
int 49h
jc problem3
mov si,offset logo
mov ah,4
xor di,di
int 48h
call [cs:projfile],offset logo
jc problem
push es
pop ds
push gs
pop es
xor si,si
xor di,di
mov ah,6
int 48h
mov ecx,eax
call [cs:mbfind],offset logo
call [cs:decompressrle],ax,0,es,0,cx
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]
call [cs:savestate]
call [cs:setvideomode],word 8
call [cs:clearscreen]
call [cs:loadbmppalet],word 0
call [cs:showbmp],word 0,word 20,word 150
jc problem4
push cs
pop ds
push offset poper
call [print]
call [cs:print]
endofit:
xor ax,ax
int 16h
mov ah,29h
int 47h
call [cs:restorestate]
retf
problem:
push cs
pop ds
push offset error
call [print]
call [cs:print],offset error
jmp endofit
problem2:
push cs
pop ds
push offset error2
call [print]
call [cs:print],offset error2
jmp endofit
problem3:
push cs
pop ds
push offset error3
call [print]
call [cs:print],offset error3
jmp endofit
problem4:
push cs
pop ds
push offset error4
call [print]
call [cs:print],offset error4
jmp endofit
poper db '\c0BC\c0CO\c0DS\c0E2\c0E0\c0E0\c0F0 en mode graphique',0
@ -103,12 +76,16 @@ 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
importing
use VIDEO,restorestate
use VIDEO,savestate
use VIDEO,setvideomode
use VIDEO,clearscreen
use DISQUE,decompressrle
use DISQUE,projfile
use SYSTEME,mbfind
use SYSTEME,mballoc
use VIDEO.LIB,print
use BMP.LIB,showbmp
use BMP.LIB,loadbmppalet
endi