.:=.data L1: .:=.[02] L3: .:=.[02] .:=.text L71: 0103,0141,0156,047,0164,040,0162,0145 0141,0144,040,0142,0151,0157,0163,012 0 _biosrea: call c.ent hl=_biosbuf hl->L1 a=015->L3+a-^a->L3[01] L5: / 12 a=L3-041=L3[01]-^0 jp L7 hl=L3=>sp hl=&01=>sp hl=L1=>sp hl=&0=>sp call _sio af<=sp<=sp<=sp<=sp a=c|b jz L11 hl=&L71 sp<=hl call _fatal af<=sp jmp L11 L7: /23 jmp c.ret L11: /12 hl=L3 hl+1 hl->L3 hl=L1 a=l+0200->l=h+^0->h hl->L1 jmp L5 .:=.data L12: .:=.[02] L32: .:=.[02] .:=.text L73: 0103,0141,0156,047,0164,040,0167,0162 0151,0164,0145,040,0142,0151,0157,0163 012,0 _bioswri: call c.ent hl=_biosbuf hl->L12 a=015->L32+a-^a->L32[01] L52: / 33 a=L32-041=L32[01]-^0 jp L72 a=L32::040 jnz L21=L32[01]::0 L21: jnz L01 bc=01 jmp L41 L01: bc=0 L41: sp<=bc hl=L32=>sp hl=&01=>sp hl=L12=>sp hl=&01=>sp call _sio hl=012+sp->sp a=c|b jz L13 hl=&L73 sp<=hl call _fatal af<=sp jmp L13 L72: /36 jmp c.ret L13: /33 hl=L32 hl+1 hl->L32 hl=L12 a=l+0200->l=h+^0->h hl->L12 jmp L52 _sio: call c.ent hl=&0=>sp a=_drive->c+a-^a->b sp<=bc hl=&033=>sp call _bios af<=sp<=sp<=sp hl=&0=>sp hl=&010+de bc=^hl=>sp hl=&036=>sp call _bios af<=sp<=sp<=sp hl=&0=>sp hl=&012+de bc=^hl=>sp hl=&041=>sp call _bios af<=sp<=sp<=sp hl=&0=>sp hl=&06+de bc=^hl=>sp hl=&044=>sp call _bios af<=sp<=sp<=sp hl=&04+de a=*hl|*(hl+1) jnz L14 hl=&0=>sp hl=&0=>sp hl=&047=>sp call _bios af<=sp<=sp<=sp jmp c.ret L14: /47 hl=&0=>sp hl=&014+de bc=^hl=>sp hl=&052=>sp call _bios af<=sp<=sp<=sp jmp c.ret _cputc: call c.ent hl=&04+de a=*hl::012 jnz L61=*(hl+1)::0 L61: jnz L54 hl=&015=>sp hl=&02=>sp call _cpm af<=sp<=sp L54: /57 hl=&04+de bc=^hl=>sp hl=&02=>sp call _cpm af<=sp<=sp jmp c.ret _prs: call c.ent hl=&04+de bc=^hl=>sp call _cputs af<=sp jmp c.ret _put: call c.ent hl=&04+de bc=^hl=>sp call _cputs af<=sp jmp c.ret _cputs: call c.ents hl=&04+de hl=a^hl hl->c.r4 L74: / 73 hl=c.r4 a=*hl|a jz L15 hl=c.r4 a=*hl->c+a-^a->b sp<=bc call _cputc af<=sp hl=c.r4 hl+1 hl->c.r4 jmp L74 L15: /74 jmp c.rets _prn: call c.ent hl=&04+de bc=^hl=>sp call _itoa af<=sp sp<=bc call _prs af<=sp jmp c.ret .:=.data L75: .:=.[010] .:=.text _itoa: call c.ent hl=&020=>sp hl=&04+de bc=^hl=>sp hl=&L75 sp<=hl call _itob af<=sp<=sp<=sp hl=bc bc=&L75 hl+bc *hl=0 hl=&L75 bc=hl jmp c.ret _putchar: call c.ent hl=&04+de bc=^hl=>sp call _cputc af<=sp jmp c.ret .:=.data L16: .:=.[01] .:=.text _getch: call c.ent hl=&01=>sp call _cpm af<=sp a=c->L16 a=L16::03 jnz L36 call _exit L36: /105 a=L16&0177->L16 a=L16::0101 jm L02 hl=&L16 a=0132::*hl jm L02 a=L16->c+a-^a->b hl=&040+bc bc=hl jmp L22 L02: a=L16->c+a-^a->b L22: a=c->L16 a=L16->c+a-^a->b jmp c.ret public _exit public _getch public _putchar public _itob public _itoa public _prn public _put public _cputs public _prs public _cpm public _cputc public _bios public _bioswri public _sio public _fatal public _biosrea public _termina public _nterm public _term public _ndrives public _biosbuf public _drive _fatal: call c.ent hl=&04+de bc=^hl=>sp call _put af<=sp hl=&0=>sp call _exit af<=sp jmp c.ret