;===============================================
; << Mini Compiler Ver1.0 >>
; RUN-TIME & FUNCTION TABLE for CP/M
;===============================================
;-----------------------
; WORK AREA
;-----------------------
RNDSEE: DW 1992 ; 乱数(_rnd)用ワーク領域
DW 0C204H
TXTBUF: DB 255, 0 ; 1行入力用ワーク領域
WORK: DS 255 ; _printf用ワーク領域
CONF: DS 1
;===============================
; OBJECT START ADDRESS
;===============================
START: ; MCオブジェクトの先頭アドレス。
; このアドレスからコンパイルされた
; オブジェクトが出力されていく。
; 従ってコンパイラはランタイムアドレス
; 関数テーブルを別領域に保存してから
; コンパイルする設計になっている。
;===============================
; RUN TIME TABLE
;===============================
DW $MCLT ; ランタイムルーチンのアドレスを定義
DW $MCGE
DW $MCEQ
DW $MCNE
DW $MCNOT
DW $MCNEG
DW $MCMULT
DW $MCDIVI
DW $MCSFTR
DW $MCSFTL
DW $MCANDB
DW $MCAND
DW $MCXOR
DW $MCORB
DW $MCOR
DW $MCSTOR
DW $MCCALL
DW $MCINIT
;===============================
; FUNCTION TABLE
;===============================
DB 'GETCHR',0, 0 ; 標準関数の名前とパラメータ数を定義
DW _GETCHR ; 標準関数のアドレスを定義
DB 'PUTCHR',0, 1
DW _PUTCHR
DB 'PRINTF',0, 15
DW _PRINTF
DB 'SPRINTF',0, 15
DW _SPRINF
DB 'SCANF',0, 15
DW _SCANF
DB 'SSCANF',0, 15
DW _SSCANF
DB 'INKEY',0, 0
DW _INKEY
DB 'BDOS',0, 2
DW _BDOS
DB 'STRLEN',0, 1
DW _STRLEN
DB 'STRCPY',0, 2
DW _STRCPY
DB 'STRCAT',0, 2
DW _STRCAT
DB 'MEMSET',0, 3
DW _MEMSET
DB 'MEMCPY',0, 3
DW _MEMCPY
DB 'MEMCMP',0, 3
DW _MEMCMP
DB 'RND',0, 1
DW _RND
|