diff options
-rw-r--r-- | MyExec.i | 34 |
1 files changed, 25 insertions, 9 deletions
@@ -20,6 +20,7 @@ PP_SAVEMARGIN: EQU 32 ; Anzahl PowerPacker-Sicherheitsbytes ************************************************************************** +* Eine Exec-Routine aufrufen. A6 wird gerettet. * Beispiel: SYSCALL AllocMem SYSCALL: MACRO @@ -31,7 +32,20 @@ SYSCALL: MACRO ENDM ************************************************************************** -* Beispiel: SYSJSR AllocMem (A6 muss auf _MyExecBase zeigen!) +* Eine Exec-Routine aufrufen und dabei Execbase A4-relativ laden. +* Beispiel: SYSCALL AllocMem + +RSYSCALL: MACRO + XREF _MyExecBase + MOVE.L A6,-(SP) + MOVEA.L _MyExecBase(A4),A6 + JSR meb_\1(A6) + MOVEA.L (SP)+,A6 + ENDM + +************************************************************************** +* Eine Exec-Routine aufrufen, wenn A6 schon auf _MyExecBase zeigt. +* Beispiel: SYSJSR AllocMem SYSJSR: MACRO JSR meb_\1(A6) @@ -122,7 +136,9 @@ MSG MACRO ENDM ************************************************************************** -* SMSG <"Hello, %s!",a0> gibt Text mit printf-Argumenten auf serial port aus +* SMSG <"Hello, %s von $%08lx!",a0,a7> gibt den Text mit maximal 8 printf- +* Argumenten auf den Serial-Port aus. Alle Argumente werden als LONG +* angesprochen, also müssen Formatcodes wie %ld, %lu und %lc verwendet werden. SMSG MACRO IFND DEBUG @@ -219,11 +235,11 @@ BTSTW MACRO STRUCTURE BitMap,0 - WORD bm_BytesPerRow - WORD bm_Rows - BYTE bm_Flags - BYTE bm_Depth - WORD bm_Pad + UWORD bm_BytesPerRow + UWORD bm_Rows + UBYTE bm_Flags + UBYTE bm_Depth + UWORD bm_Pad STRUCT bm_Planes,8*4 LABEL bm_SIZEOF @@ -279,8 +295,8 @@ BTSTW MACRO *** Flag - Bits, only for internal use :-) - BITDEF EXEC,BUFENABLE,0 - BITDEF EXEC,RESETREQUEST,4 + BITDEF EXEC,BUFENABLE,0 ; RamLib-Buffer verwenden + BITDEF EXEC,RESETREQUEST,4 ; System-Reset wurde verlangt ************************************************************************** |