$princ = 0x10000 ; push ascii $prinvc = 0x10004 ; push ascii $prin4c = 0x10008 ; push int $prins = 0x1000C ; push address $prinsn = 0x10010 ; push address then length $prinum = 0x10014 ; push int $prinhb = 0x10018 ; push int $prinhw = 0x1001C ; push int $prinhd = 0x10020 ; push int $newline = 0x10024 $inchar = 0x10028 ; return ascii in AL $innum = 0x1002C ; return in in EAX, allows +... -... 0x... and decimal $iflush = 0x10030 $backch = 0x10034 $flush = 0x10038 $filenum = 0x1003C ; push name ; jc not-found ; return filenumber in EAX $readblk = 0x10040 ; push block-number then memory address $printf = 0x10044 ; push args in reverse order, format last. Caller must pop $allocm = 0x10048 ; push size of item, then num of items $freem = 0x1004C ; push address then 1=[], 0=plain $resetm = 0x10050 $writeblk = 0x10054 ; push block-number then memory address $ranseed = 0x10058 ; push seed seed $findfile = 0x1005C ; push &nblocks, &block1, name; return filenum $ticktime = 0x10060 ; return mS in EAX $reseth = 0x10064 ; undoes all allocs $malloc = 0x10068 ; push number of bytes; address returned in EAX $palloc = 0x1006C ; no param, allocates one page, page aligned $free = 0x10070 ; psuh addr; really does nothing $clrscr = 0x10074 ; no params $setcolor = 0x10078 ; push int 0x70 for reverse video, 7 for normal, etc. two 4bit vals $winw = 0x1007C $winh = 0x10080 $videomem = 0x10084 $code = 0x100000