diff --git a/macroses/macros.z80 b/macroses/macros.z80 index 2c9ce00..28cb8fd 100644 --- a/macroses/macros.z80 +++ b/macroses/macros.z80 @@ -343,6 +343,46 @@ ;======================================= +;======================================= + MACRO EXE_ORG addr_exe + IFNDEF App_EXE_Version + DEFINE App_EXE_Version 0 + ENDIF + + ORG 0 +exe_header: + BYTE 'EXE' ; 0-2 EXE Сигнатура + BYTE App_EXE_Version ; 3 Version of EXE file + DWORD exe_header.length ; 4-5 С какого смещения в файле будет грузиться код в +; ; 6-7 память по адресу (Code_addr) Low addr, High addr. + WORD Loader_length ; 8-9 Размер первичного загрузчика или 0 + WORD #0000 ; 10-11 Reserved + WORD #0000 ; 12-13 Reserved + WORD #0000 ; 14-15 Reserved + WORD code_addr ; 16-17 Адрес расположения кода в памяти (#4100-#FFFF) + WORD program_start ; 18-19 Адрес в памяти с которого запустится код (Reg. PC) + WORD stack_point ; 20-21 Адрес стека (Reg. SP) + IFDEF EXEinfoMACRO ; 22-512 Можно использовать под текст для выпендрёжа или не использовать + _mEXEinfo + ENDIF +; ПРИМЕР: +; BLOCK 10,' ' ; Выравнивание для красивого отображения в HEX +; BYTE 'Turbo Assembler ' +; BYTE ' v 0.71 ' +; BYTE 'Coded in 1999 by' +; BYTE ' Enin Anton. ' +; BYTE ' Resurrected & ' +; BYTE ' modified by ' +; BYTE ' Anatoliy ' +; BYTE ' Belyanskiy, ' +; BYTE ' Sprinter Team ' +; BYTE ' 2023 ' +exe_header.length equ $-exe_header + ORG addr_exe + ENDM +;======================================= + + ;======================================= MACRO PrintProc MODULE PrintF