; STRUCT _sStack ; 256 bytes buffer BLOCK 256,0 SPoint BYTE 0 ENDS ; ; STRUCT _sEXE_HEADER ; 512 bytes EXE_EXT TEXT 3,{"EX","E"} VERSION BYTE 0 OFFCOD1 WORD 0 OFFCOD2 WORD 0 LOADER WORD 0 RESERVED BLOCK 6,0 LD_ADDR WORD 0 PC_REG WORD 0 SP_REG WORD 0 RESERVED2 BLOCK 490,0 ENDS ; ;File Manipulator (FM) STRUCT _sFM ; 44 bytes .NAME: TEXT 8,{". "," "} ;+00 NAME .EXT: TEXT 3,{" "," "} ;+08 EXT .ATTRIBUT: BYTE #10 ;+11 ATTRIBUT .KnownCluster_L: BYTE 0 ;+12 Младший байт номера кластера для которого известно относительное смещение внутри файла .KnownCluster_H: BYTE 0 ;+13 Старший байт номера кластера для которого известно относительное смещение внутри файла .KnownOffset_L: BYTE 0 ;+14 Младший байт смещения (в кластерах) относительно начала файла для сохраненного номера кластера. .KnownOffset_H: BYTE 0 ;+15 Старший байт смещения (в кластерах) относительно начала файла для сохраненного номера кластера. .RESERVED_X: BLOCK 6,0 ;+16 RESERVED .TIME: WORD #0000 ;+22 TIME .DATE: WORD #0000 ;+24 DATE .ST_CLUSTER: WORD #0000 ;+26 START CLUSTER .F_SIZE: DWORD #0000 ;+28 SIZE FILE .F_POSITION: DWORD #0000 ;+32 FILE POSITION (FP) .DIR_CLUSTER: WORD #0000 ;+36 DIRECTORY CLUSTER .HANDLE: WORD #0000 ;+38 HANDLE NUMBER .DRIVE: BYTE #00 ;+40 DRIVE OR CURRENT .ACCESS_MODE: BYTE #00 ;+41 ACCESS MODE признак изменения файла .TASK_NUM: BYTE #00 ;+42 TASK .EMPTY: BYTE #00 ;+43 EMPTY ENDS ; ; NAM EQU 0 ; LEN4 EQU 31 ; EXT EQU 8 ; POS1 EQU 32 ; ATR EQU 11 ; POS2 EQU 33 ; TIM1 EQU 22 ; POS3 EQU 34 ; TIM2 EQU 23 ; POS4 EQU 35 ; DAT1 EQU 24 ; DIRCLU1 EQU 36 ; DAT2 EQU 25 ; DIRCLU2 EQU 37 ; CLU1 EQU 26 ; HND1 EQU 38 ; CLU2 EQU 27 ; HND2 EQU 39 ; LEN1 EQU 28 ; FDRV EQU 40 ; LEN2 EQU 29 ; AMODE EQU 41 ; LEN3 EQU 30 ; FTASK EQU 42 ; STRUCT _sBuffers FileManipulator _sFM ; 44 bytes + 44 bytes * (FMCOUNT-1) FM_RESERVE BLOCK _sFM * (FMCOUNT-1),0 ; BootSector _sBOOT_SEC ; 62 bytes ;!TODO перенести в область буферов EXE_Header _sEXE_HEADER ; 512 bytes Stack _sStack ; 256 bytes Buffer BLOCK 512,0 ; FOR BUFFER & SECBUF MemoryTable BLOCK 256,0 ; 256 bytes ENDS ;