144 lines
2.3 KiB
C
144 lines
2.3 KiB
C
struc regs
|
|
{
|
|
.seip dd 0
|
|
.seax dd 0
|
|
.sebx dd 0
|
|
.secx dd 0
|
|
.sedx dd 0
|
|
.sesi dd 0
|
|
.sedi dd 0
|
|
.sebp dd 0
|
|
.sesp dd 0
|
|
.scs dw 0
|
|
.sds dw 0
|
|
.ses dw 0
|
|
.sfs dw 0
|
|
.sgs dw 0
|
|
.sss dw 0
|
|
;.seflags dd 0
|
|
;.sst0 dt 0
|
|
;;sst1 dt 0
|
|
;.sst2 dt 0
|
|
;.sst3 dt 0
|
|
;.sst4 dt 0
|
|
;.sst5 dt 0
|
|
;.sst6 dt 0
|
|
;.sst7 dt 0
|
|
}
|
|
|
|
struc tuple
|
|
{
|
|
.off dw 0 ;adresse
|
|
.seg dw 0 ;segment
|
|
}
|
|
|
|
;union vector
|
|
;{
|
|
;.data tuple 0,0
|
|
;.content dd 0
|
|
;}
|
|
|
|
struc ints ;bloc interruption
|
|
{
|
|
.number db 0 ;numero de l'interruption
|
|
.activated db 0 ;activé ou non
|
|
.locked db 0 ;verrouillée
|
|
.launchedlow dd 0
|
|
.launchedhigh dd 0
|
|
.calledlow dd 0
|
|
.calledhigh dd 0
|
|
.vector1 vector ?
|
|
.vector2 vector ?
|
|
.vector3 vector ?
|
|
.vector4 vector ?
|
|
.vector5 vector ?
|
|
.vector6 vector ?
|
|
.vector7 vector ?
|
|
.vector8 vector ?
|
|
}
|
|
|
|
struc mb ;Bloc de mémoire
|
|
{
|
|
.check db "NH" ;signature du bloc de mémoire.
|
|
.isnotlast db 0 ;flag indiquant le dernier bloc
|
|
.isresident db 0 ;flag indiquant que le bloc est resident
|
|
.reference dw 0 ;pointeur vers le bloc parent
|
|
.sizes dw 0 ;taille du bloc en paragraphe de 16 octet
|
|
.names db 24 dup (0) ;nom du bloc
|
|
}
|
|
|
|
struc exe ;Executable COS
|
|
{
|
|
.checks db "CE" ;signature de l'exe
|
|
.major db 1 ;N° version
|
|
.checksum dd 0 ;Checksum de l'exe
|
|
.compressed db 0 ;a 1 si compressé par RLE
|
|
.exports dw 0 ;importation de fonctions
|
|
.imports dw 0 ;exportation de fonctions
|
|
.sections dw 0 ;sections des blocs mémoire
|
|
.starting dw 15
|
|
}
|
|
|
|
struc descriptor
|
|
{
|
|
.limit_low dw 0
|
|
.base_low dw 0
|
|
.base_middle db 0
|
|
.dpltype db 0
|
|
.limit_high db 0
|
|
.base_high db 0
|
|
}
|
|
|
|
free equ 0 ;Reference quand libre
|
|
|
|
macro exporting
|
|
{
|
|
exports:
|
|
}
|
|
|
|
macro importing
|
|
{
|
|
imports:
|
|
}
|
|
|
|
macro noimporting
|
|
{
|
|
imports:
|
|
dd 0
|
|
}
|
|
|
|
macro noexporting
|
|
{
|
|
imports:
|
|
dd 0
|
|
}
|
|
|
|
macro ende
|
|
{
|
|
dd 0
|
|
}
|
|
|
|
macro endi
|
|
{
|
|
dd 0
|
|
}
|
|
|
|
macro use lib*,fonction*
|
|
{
|
|
db "&lib&::&fonction&",0
|
|
fonction:
|
|
dd 0
|
|
dd 0
|
|
}
|
|
|
|
macro declare fonction*
|
|
{
|
|
db "&fonction&",0
|
|
dw fonction
|
|
}
|
|
|
|
macro heading versmaj*,versmin*,start*
|
|
{
|
|
header exe "CE",versmaj,versmin,0,exports,imports,0,start
|
|
}
|