COMMON /errno_/ .2: DS 0 CSEG COMMON /stdin_/ .3: DS 0 CSEG COMMON /stdout_/ .4: DS 0 CSEG COMMON /stderr_/ .5: DS 0 CSEG PUBLIC strlen_ strlen_: CALL .zsav## DW .6 LXI H,12-.6 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .7: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H mov a,m ora a JZ .8 JMP .7 .8: MOV H,B MOV L,C XCHG LXI H,12-.6 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .sb## DCX H RET .6 EQU 0 PUBLIC isalpha_ isalpha_: CALL .zsav## DW .9 LXI H,12-.9 DAD SP MOV E,M MVI D,0 LXI H,3-.9 DAD SP MOV M,E PUSH D FUNC isupper_ CALL isupper_ POP D JNZ .10 LXI H,3-.9 DAD SP MOV E,M MVI D,0 PUSH D FUNC islower_ CALL islower_ POP D JNZ .10 LXI H,0 JMP .11 .10: LXI H,1 .11: RET .9 EQU -1 PUBLIC isupper_ isupper_: CALL .zsav## DW .12 LXI H,12-.12 DAD SP MOV E,M MVI D,0 LXI H,3-.12 DAD SP MOV M,E LXI H,65 CALL .ge## JZ .14 LXI H,3-.12 DAD SP MOV E,M MVI D,0 LXI H,90 CALL .le## JNZ .13 .14: LXI H,0 JMP .15 .13: LXI H,1 .15: RET .12 EQU -1 PUBLIC islower_ islower_: CALL .zsav## DW .16 LXI H,12-.16 DAD SP MOV E,M MVI D,0 LXI H,3-.16 DAD SP MOV M,E LXI H,97 CALL .ge## JZ .18 LXI H,3-.16 DAD SP MOV E,M MVI D,0 LXI H,122 CALL .le## JNZ .17 .18: LXI H,0 JMP .19 .17: LXI H,1 .19: RET .16 EQU -1 PUBLIC isdigit_ isdigit_: CALL .zsav## DW .20 LXI H,12-.20 DAD SP MOV E,M MVI D,0 LXI H,3-.20 DAD SP MOV M,E LXI H,48 CALL .ge## JZ .22 LXI H,3-.20 DAD SP MOV E,M MVI D,0 LXI H,57 CALL .le## JNZ .21 .22: LXI H,0 JMP .23 .21: LXI H,1 .23: RET .20 EQU -1 PUBLIC iswhite_ iswhite_: CALL .zsav## DW .24 LXI H,12-.24 DAD SP MOV E,M MVI D,0 XCHG JMP .25 .27: .28: .29: .30: .31: LXI H,1 RET .32: LXI H,0 RET .25: CALL .swt## DW 5 DW 32,.27 DW 9,.28 DW 13,.29 DW 10,.30 DW 12,.31 DW .32 .26: RET .24 EQU 0 PUBLIC toupper_ toupper_: CALL .zsav## DW .33 LXI H,12-.33 DAD SP MOV E,M MVI D,0 LXI H,3-.33 DAD SP MOV M,E LXI H,97 CALL .ge## JZ .34 LXI H,3-.33 DAD SP MOV E,M MVI D,0 LXI H,122 CALL .le## JZ .34 LXI H,3-.33 DAD SP MOV E,M MVI D,0 LXI H,-32 DAD D RET .34: LXI H,3-.33 DAD SP MOV E,M MVI D,0 XCHG RET .33 EQU -1 PUBLIC puts_ puts_: CALL .zsav## DW .35 LXI H,12-.35 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .36: MOV H,B MOV L,C mov a,m ora a JZ .37 MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 PUSH D FUNC putchar_ CALL putchar_ POP D JMP .36 .37: LXI H,12-.35 DAD SP MOV E,M INX H MOV D,M XCHG RET .35 EQU 0 PUBLIC gets_ gets_: CALL .zsav## DW .38 LXI H,12-.38 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .39: FUNC getchar_ CALL getchar_ XCHG LXI H,1-.38 DAD SP MOV M,E XCHG JMP .41 .43: MOV H,B MOV L,C XCHG LXI H,12-.38 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .eq## JZ .44 LXI H,0 XCHG mov h,b mov l,c MOV M,E LXI H,0 RET .44: .45: .46: LXI H,0 XCHG mov h,b mov l,c MOV M,E LXI H,12-.38 DAD SP MOV E,M INX H MOV D,M XCHG RET .47: LXI H,0 XCHG mov h,b mov l,c MOV M,E LXI H,-1 RET .48: .49: LXI H,10 PUSH H FUNC putchar_ CALL putchar_ POP D LXI H,12-.38 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E JMP .42 .50: MOV H,B MOV L,C XCHG LXI H,12-.38 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .eq## JNZ .42 LXI H,8 PUSH H FUNC putchar_ CALL putchar_ POP D .51: LXI H,32 PUSH H FUNC putchar_ CALL putchar_ POP D MOV H,B MOV L,C XCHG LXI H,12-.38 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ne## JZ .52 LXI H,8 PUSH H FUNC putchar_ CALL putchar_ POP D MOV H,B MOV L,C DCX H MOV B,H MOV C,L .52: JMP .42 .53: LXI H,10 PUSH H FUNC putchar_ CALL putchar_ POP D MOV H,B MOV L,C XCHG LXI H,2-.38 DAD SP MOV M,E INX H MOV M,D LXI H,12-.38 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .54: MOV H,B MOV L,C XCHG LXI H,2-.38 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ul## JZ .55 MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 PUSH D FUNC putchar_ CALL putchar_ POP D JMP .54 .55: JMP .42 .56: LXI H,1-.38 DAD SP MOV E,M MVI D,0 PUSH D MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H POP D MOV M,E JMP .42 .41: CALL .swt## DW 9 DW 26,.43 DW 10,.45 DW 13,.46 DW 7,.47 DW 21,.48 DW 24,.49 DW 127,.50 DW 8,.51 DW 18,.53 DW .56 .42: JMP .39 .40: RET .38 EQU -3 PUBLIC cput_ cput_: CALL .zsav## DW .57 RET .57 EQU 0 PUBLIC putchar_ putchar_: CALL .zsav## DW .58 LXI H,12-.58 DAD SP MOV E,M MVI D,0 LXI H,10 CALL .eq## JZ .59 LXI H,13 PUSH H FUNC cconout_ CALL cconout_ POP D .59: LXI H,12-.58 DAD SP MOV E,M MVI D,0 PUSH D FUNC cconout_ CALL cconout_ POP D RET .58 EQU 0 COMMON /ccugot_/ .60: DS 2 CSEG PUBLIC getchar_ getchar_: CALL .zsav## DW .61 LXI H,.1+0 SHLD .60 LHLD .60 mov a,m ora a JZ .62 LHLD .60 MOV E,M MVI D,0 MOV B,D MOV C,E LXI H,0 PUSH H LHLD .60 POP D MOV M,E JMP .63 .62: FUNC cconin_ CALL cconin_ MOV B,H MOV C,L .63: MOV H,B MOV L,C JMP .64 .66: LXI H,10 MOV B,H MOV C,L PUSH H FUNC cconout_ CALL cconout_ POP D JMP .65 .67: LXI H,-1 MOV B,H MOV C,L JMP .65 .64: CALL .swt## DW 2 DW 13,.66 DW 26,.67 DW .65 .65: MOV H,B MOV L,C RET .61 EQU 0 .1: DB 0 PUBLIC ugetchar_ ugetchar_: CALL .zsav## DW .69 LXI H,12-.69 DAD SP MOV E,M MVI D,0 PUSH D LHLD .60 POP D MOV M,E RET .69 EQU 0 PUBLIC movmem_ movmem_: CALL .zsav## DW .70 LXI H,14-.70 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,12-.70 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .eq## JNZ .72 LXI H,16-.70 DAD SP mov a,m inx h ora m JNZ .71 .72: MOV H,B MOV L,C RET .71: MOV H,B MOV L,C XCHG LXI H,12-.70 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ul## JZ .73 LXI H,16-.70 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,14-.70 DAD SP MOV E,M INX H MOV D,M PUSH D PUSH B FUNC ccldir_ CALL ccldir_ POP D POP D POP D JMP .74 .73: LXI H,16-.70 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,14-.70 DAD SP MOV E,M INX H MOV D,M LXI H,18-.70 DAD SP MOV A,M INX H MOV H,M MOV L,A DAD D DCX H PUSH H MOV H,B MOV L,C XCHG LXI H,20-.70 DAD SP MOV A,M INX H MOV H,M MOV L,A DAD D DCX H PUSH H FUNC cclddr_ CALL cclddr_ POP D POP D POP D .74: LXI H,14-.70 DAD SP MOV E,M INX H MOV D,M LXI H,16-.70 DAD SP MOV A,M INX H MOV H,M MOV L,A DAD D RET .70 EQU 0 PUBLIC setmem_ setmem_: CALL .zsav## DW .75 LXI H,14-.75 DAD SP mov a,m inx h ora m JZ .76 LXI H,16-.75 DAD SP MOV E,M MVI D,0 PUSH D LXI H,14-.75 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E XCHG POP D MOV M,E LXI H,14-.75 DAD SP MOV E,M INX H MOV D,M XCHG DCX H PUSH H PUSH B MOV H,B MOV L,C INX H PUSH H FUNC ccldir_ CALL ccldir_ POP D POP D POP D .76: LXI H,12-.75 DAD SP MOV E,M INX H MOV D,M XCHG RET .75 EQU 0 PUBLIC xmain_ xmain_: CALL .zsav## DW .77 LXI H,2-.77 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,4-.77 DAD SP PUSH H FUNC loadargs_ CALL loadargs_ POP D PUSH H FUNC main_ CALL main_ POP D POP D PUSH H FUNC exit_ CALL exit_ POP D RET .77 EQU -2 PUBLIC loadargs_ loadargs_: CALL .zsav## DW .78 LXI H,.68+0 XCHG LXI H,-124-.78 DAD SP MOV M,E INX H MOV M,D LXI H,-124-.78 DAD SP MOV B,H MOV C,L FUNC comlen_ CALL comlen_ PUSH H FUNC comline_ CALL comline_ POP D DAD D PUSH H FUNC comline_ CALL comline_ PUSH H LXI H,10-.78 DAD SP PUSH H LXI H,-116-.78 DAD SP PUSH H FUNC loadline_ CALL loadline_ XCHG LXI H,8 DAD SP SPHL MOV H,B MOV L,C CALL .sb## MOV B,H MOV C,L PUSH B PUSH B FUNC evnbrk_ CALL evnbrk_ POP D PUSH H LXI H,16-.78 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E INX H MOV M,D PUSH D LXI H,-120-.78 DAD SP PUSH H FUNC movmem_ CALL movmem_ POP D POP D POP D MOV H,B MOV L,C LXI D,1 XCHG CALL .ur## RET .78 EQU -128 .68: DB 0 PUBLIC loadline_ loadline_: CALL .zsav## DW .80 LXI H,12-.80 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .81: MOV H,B MOV L,C XCHG LXI H,14-.80 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ul## JZ .82 LXI H,18-.80 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,18-.80 DAD SP PUSH H FUNC nextarg_ CALL nextarg_ POP D POP D XCHG mov h,b mov l,c MOV M,E INX H MOV M,D MOV A,D ORA E JZ .82 mov h,b mov l,c MOV E,M INX H MOV D,M XCHG MOV E,M MVI D,0 XCHG JMP .83 .85: MOV H,B MOV L,C INX H INX H MOV B,H MOV C,L JMP .84 .83: CALL .swt## DW 0 DW .85 .84: JMP .81 .82: MOV H,B MOV L,C RET .80 EQU 0 PUBLIC nextarg_ nextarg_: CALL .zsav## DW .86 LXI H,12-.86 DAD SP MOV E,M INX H MOV D,M XCHG MOV E,M INX H MOV D,M MOV B,D MOV C,E JMP .88 .87: MOV H,B MOV L,C INX H MOV B,H MOV C,L .88: MOV H,B MOV L,C XCHG LXI H,14-.86 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .uf## JZ .90 LXI H,0 RET .90: mov h,b mov l,c MOV E,M MVI D,0 PUSH D FUNC iswhite_ CALL iswhite_ POP D JZ .89 JMP .87 .89: mov h,b mov l,c MOV E,M MVI D,0 XCHG JMP .91 .93: .94: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 LXI H,1-.86 DAD SP MOV M,E JMP .92 .95: LXI H,0 XCHG LXI H,1-.86 DAD SP MOV M,E JMP .92 .91: CALL .swt## DW 2 DW 39,.93 DW 34,.94 DW .95 .92: LXI H,-127-.86 DAD SP XCHG LXI H,2-.86 DAD SP MOV M,E INX H MOV M,D LXI H,1 XCHG LXI H,-129-.86 DAD SP MOV M,E INX H MOV M,D JMP .97 .96: LXI H,-129-.86 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D .97: LXI H,1-.86 DAD SP mov a,m ora a JZ .99 mov h,b mov l,c MOV E,M MVI D,0 LXI H,1-.86 DAD SP MOV L,M MVI H,0 CALL .ne## JMP .100 .99: mov h,b mov l,c MOV E,M MVI D,0 PUSH D FUNC iswhite_ CALL iswhite_ POP D CALL .nt## .100: MOV A,H ORA L JZ .98 MOV H,B MOV L,C XCHG LXI H,14-.86 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ul## JZ .98 mov h,b mov l,c MOV E,M MVI D,0 LXI H,92 CALL .eq## JZ .101 MOV H,B MOV L,C INX H MOV B,H MOV C,L .101: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 PUSH D LXI H,4-.86 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H POP D MOV M,E JMP .96 .98: LXI H,0 PUSH H LXI H,4-.86 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E LXI H,-129-.86 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,-127-.86 DAD SP MOV E,M INX H MOV D,M PUSH D FUNC sbrk_ CALL sbrk_ POP D XCHG LXI H,4-.86 DAD SP MOV M,E INX H MOV M,D PUSH D LXI H,-123-.86 DAD SP PUSH H FUNC movmem_ CALL movmem_ POP D POP D POP D MOV H,B MOV L,C INX H PUSH H LXI H,14-.86 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E INX H MOV M,D LXI H,2-.86 DAD SP MOV E,M INX H MOV D,M XCHG RET .86 EQU -133 PUBLIC sbrk_ sbrk_: CALL .zsav## DW .102 COMMON /ccedata_/ .103: DS 0 CSEG LHLD .103 MOV B,H MOV C,L MOV H,B MOV L,C XCHG LXI H,12-.102 DAD SP MOV A,M INX H MOV H,M MOV L,A DAD D MOV D,B MOV E,C XCHG CALL .ug## JZ .104 LXI H,12-.102 DAD SP MOV E,M INX H MOV D,M LXI H,0 CALL .lt## JZ .105 LXI H,-1 RET .105: JMP .106 .104: LXI H,12-.102 DAD SP MOV E,M INX H MOV D,M LXI H,0 CALL .gt## JZ .107 LXI H,-1 RET .107: .106: MOV H,B MOV L,C XCHG LXI H,12-.102 DAD SP MOV A,M INX H MOV H,M MOV L,A DAD D PUSH H FUNC brk_ CALL brk_ POP D JZ .108 LXI H,-1 RET .108: MOV H,B MOV L,C RET .102 EQU 0 PUBLIC ubrk_ ubrk_: CALL .zsav## DW .109 LXI H,0 PUSH H FUNC sbrk_ CALL sbrk_ POP D PUSH H db 253,225 LXI H,12-.109 DAD SP mov a,m inx h ora m JNZ .110 db 253,229 POP H RET .110: LXI H,12-.109 DAD SP MOV E,M INX H MOV D,M LXI H,1 CALL .ur## LXI D,32767 CALL .an## MOV B,H MOV C,L PUSH H FUNC sbrk_ CALL sbrk_ POP D LXI D,-1 CALL .eq## JZ .111 LXI H,-1 RET .111: LXI H,12-.109 DAD SP MOV E,M INX H MOV D,M MOV H,B MOV L,C CALL .sb## PUSH H FUNC sbrk_ CALL sbrk_ POP D LXI D,-1 CALL .eq## JZ .112 MOV H,B MOV L,C PUSH H db 221,225 db 221,229 POP H CALL .ng## PUSH H FUNC sbrk_ CALL sbrk_ POP D LXI H,-1 RET .112: db 253,229 POP H RET .109 EQU 0 PUBLIC wrdbrk_ wrdbrk_: CALL .zsav## DW .113 LXI H,12-.113 DAD SP MOV E,M INX H MOV D,M PUSH D FUNC evnbrk_ CALL evnbrk_ POP D RET .113 EQU 0 PUBLIC evnbrk_ evnbrk_: CALL .zsav## DW .114 LXI H,0 PUSH H FUNC sbrk_ CALL sbrk_ POP D LXI D,1 CALL .an## PUSH H FUNC sbrk_ CALL sbrk_ POP D LXI H,12-.114 DAD SP MOV E,M INX H MOV D,M PUSH D FUNC ubrk_ CALL ubrk_ POP D RET .114 EQU 0 PUBLIC exit_ exit_: CALL .zsav## DW .115 LXI H,12-.115 DAD SP MOV E,M INX H MOV D,M PUSH D FUNC ccexit_ CALL ccexit_ POP D RET .115 EQU 0 COMMON /filedesc_/ .116: DS 2 CSEG COMMON /ap_/ .117: DS 2 CSEG COMMON /ac_/ .118: DS 2 CSEG COMMON /bs_/ .119: DS 2 CSEG COMMON /bu_/ .120: DS 1 CSEG COMMON /errno_/ DS 0 CSEG COMMON /filedesc_/ DS 0 CSEG COMMON /filedesc_/ DS 0 CSEG COMMON /filedesc_/ DS 0 CSEG PUBLIC isalnum_ isalnum_: CALL .zsav## DW .121 LXI H,12-.121 DAD SP MOV E,M MVI D,0 LXI H,3-.121 DAD SP MOV M,E PUSH D FUNC isalpha_ CALL isalpha_ POP D JNZ .122 LXI H,3-.121 DAD SP MOV E,M MVI D,0 PUSH D FUNC isdigit_ CALL isdigit_ POP D JNZ .122 LXI H,0 JMP .123 .122: LXI H,1 .123: RET .121 EQU -1 PUBLIC isascii_ isascii_: CALL .zsav## DW .124 LXI H,12-.124 DAD SP MOV E,M MVI D,0 LXI H,128 CALL .an## LXI D,0 CALL .eq## RET .124 EQU 0 PUBLIC iscntrl_ iscntrl_: CALL .zsav## DW .125 LXI H,12-.125 DAD SP MOV E,M MVI D,0 LXI H,224 CALL .an## LXI D,0 CALL .eq## RET .125 EQU 0 PUBLIC ispunct_ ispunct_: CALL .zsav## DW .126 LXI H,12-.126 DAD SP MOV E,M MVI D,0 LXI H,3-.126 DAD SP MOV M,E PUSH D FUNC isascii_ CALL isascii_ POP D JZ .128 LXI H,3-.126 DAD SP MOV E,M MVI D,0 PUSH D FUNC iscntrl_ CALL iscntrl_ POP D JNZ .128 LXI H,3-.126 DAD SP MOV E,M MVI D,0 PUSH D FUNC isalnum_ CALL isalnum_ POP D JZ .127 .128: LXI H,0 JMP .129 .127: LXI H,1 .129: RET .126 EQU -1 PUBLIC isprint_ isprint_: CALL .zsav## DW .130 LXI H,12-.130 DAD SP MOV E,M MVI D,0 LXI H,255 CALL .an## MOV B,H MOV C,L LXI D,32 XCHG CALL .ge## JZ .132 MOV H,B MOV L,C LXI D,126 XCHG CALL .le## JNZ .131 .132: LXI H,0 JMP .133 .131: LXI H,1 .133: RET .130 EQU 0 PUBLIC isspace_ isspace_: CALL .zsav## DW .134 LXI H,12-.134 DAD SP MOV E,M MVI D,0 XCHG JMP .135 .137: .138: .139: LXI H,1 RET .140: LXI H,0 RET .135: CALL .swt## DW 3 DW 32,.137 DW 9,.138 DW 10,.139 DW .140 .136: RET .134 EQU 0 PUBLIC isnumeri_ isnumeri_: CALL .zsav## DW .141 LXI H,12-.141 DAD SP MOV E,M MVI D,0 PUSH D FUNC toupper_ CALL toupper_ POP D XCHG LXI H,3-.141 DAD SP MOV M,E LXI H,14-.141 DAD SP MOV E,M INX H MOV D,M LXI H,10 CALL .le## JZ .142 LXI H,3-.141 DAD SP MOV E,M MVI D,0 LXI H,48 CALL .ge## JZ .144 LXI H,14-.141 DAD SP MOV E,M INX H MOV D,M LXI H,48 DAD D DCX H PUSH H LXI H,5-.141 DAD SP MOV E,M MVI D,0 POP H CALL .le## JNZ .143 .144: LXI H,0 JMP .145 .143: LXI H,1 .145: RET .142: LXI H,3-.141 DAD SP MOV E,M MVI D,0 LXI H,48 CALL .ge## JZ .147 LXI H,3-.141 DAD SP MOV E,M MVI D,0 LXI H,57 CALL .le## JNZ .146 .147: LXI H,3-.141 DAD SP MOV E,M MVI D,0 LXI H,65 CALL .ge## JZ .148 LXI H,14-.141 DAD SP MOV E,M INX H MOV D,M LXI H,65 DAD D LXI D,-11 DAD D PUSH H LXI H,5-.141 DAD SP MOV E,M MVI D,0 POP H CALL .le## JNZ .146 .148: LXI H,0 JMP .149 .146: LXI H,1 .149: RET .141 EQU -1 PUBLIC tolower_ tolower_: CALL .zsav## DW .150 LXI H,12-.150 DAD SP MOV E,M MVI D,0 LXI H,3-.150 DAD SP MOV M,E PUSH D FUNC isupper_ CALL isupper_ POP D JZ .151 LXI H,3-.150 DAD SP MOV E,M MVI D,0 LXI H,32 DAD D JMP .152 .151: LXI H,3-.150 DAD SP MOV E,M MVI D,0 XCHG .152: RET .150 EQU -1 PUBLIC strncpy_ strncpy_: CALL .zsav## DW .153 LXI H,12-.153 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .154: LXI H,16-.153 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A DCX H XCHG POP H MOV M,E INX H MOV M,D XCHG INX H MOV A,H ORA L JZ .155 LXI H,14-.153 DAD SP MOV E,M INX H MOV D,M XCHG mov a,m ora a JZ .156 LXI H,14-.153 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 XCHG JMP .157 .156: LXI H,0 .157: PUSH H MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H POP D MOV M,E JMP .154 .155: LXI H,12-.153 DAD SP MOV E,M INX H MOV D,M XCHG RET .153 EQU 0 PUBLIC strcpy_ strcpy_: CALL .zsav## DW .158 LXI H,12-.158 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .159: LXI H,14-.158 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H POP D MOV M,E MOV A,D ORA E JZ .160 JMP .159 .160: MOV H,B MOV L,C RET .158 EQU 0 PUBLIC strcat_ strcat_: CALL .zsav## DW .161 LXI H,12-.161 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .162: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H mov a,m ora a JZ .163 JMP .162 .163: MOV H,B MOV L,C DCX H MOV B,H MOV C,L .164: LXI H,14-.161 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H POP D MOV M,E MOV A,D ORA E JZ .165 JMP .164 .165: LXI H,12-.161 DAD SP MOV E,M INX H MOV D,M XCHG RET .161 EQU 0 PUBLIC strncat_ strncat_: CALL .zsav## DW .166 LXI H,12-.166 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .167: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H mov a,m ora a JZ .168 JMP .167 .168: MOV H,B MOV L,C DCX H MOV B,H MOV C,L .169: LXI H,16-.166 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A DCX H XCHG POP H MOV M,E INX H MOV M,D XCHG INX H MOV A,H ORA L JNZ .171 LXI H,0 XCHG mov h,b mov l,c MOV M,E JMP .170 .171: LXI H,14-.166 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H POP D MOV M,E MOV A,D ORA E JZ .170 JMP .169 .170: LXI H,12-.166 DAD SP MOV E,M INX H MOV D,M XCHG RET .166 EQU 0 PUBLIC strcmp_ strcmp_: CALL .zsav## DW .172 LXI H,12-.172 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .173: LXI H,14-.172 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D mov h,b mov l,c MOV E,M MVI D,0 POP H CALL .ne## JZ .175 LXI H,14-.172 DAD SP MOV E,M INX H MOV D,M XCHG DCX H MOV E,M MVI D,0 PUSH D mov h,b mov l,c MOV E,M MVI D,0 POP H CALL .sb## RET .175: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H mov a,m ora a JNZ .176 LXI H,0 RET .176: JMP .173 .174: RET .172 EQU 0 PUBLIC strncmp_ strncmp_: CALL .zsav## DW .177 LXI H,12-.177 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .178: LXI H,16-.177 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A DCX H XCHG POP H MOV M,E INX H MOV M,D MOV A,D ORA E JZ .179 LXI H,14-.177 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D mov h,b mov l,c MOV E,M MVI D,0 POP H CALL .ne## JZ .180 LXI H,14-.177 DAD SP MOV E,M INX H MOV D,M XCHG DCX H MOV E,M MVI D,0 PUSH D mov h,b mov l,c MOV E,M MVI D,0 POP H CALL .sb## RET .180: MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H mov a,m ora a JNZ .181 LXI H,0 RET .181: JMP .178 .179: LXI H,14-.177 DAD SP MOV E,M INX H MOV D,M XCHG MOV E,M MVI D,0 PUSH D mov h,b mov l,c MOV E,M MVI D,0 POP H CALL .sb## RET .177 EQU 0 PUBLIC rindex_ rindex_: CALL .zsav## DW .182 LXI H,0 XCHG LXI H,2-.182 DAD SP MOV M,E INX H MOV M,D LXI H,12-.182 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E .183: MOV H,B MOV L,C mov a,m ora a JZ .184 MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 LXI H,14-.182 DAD SP MOV L,M MVI H,0 CALL .eq## JZ .185 MOV H,B MOV L,C DCX H XCHG LXI H,2-.182 DAD SP MOV M,E INX H MOV M,D .185: JMP .183 .184: LXI H,2-.182 DAD SP MOV E,M INX H MOV D,M XCHG RET .182 EQU -2 PUBLIC substr_ substr_: CALL .zsav## DW .186 LXI H,12-.186 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,14-.186 DAD SP MOV E,M INX H MOV D,M LXI H,2-.186 DAD SP MOV M,E INX H MOV M,D LXI H,0-.186 DAD SP MOV M,E INX H MOV M,D .187: MOV H,B MOV L,C mov a,m ora a JNZ .189 LXI H,0-.186 DAD SP MOV E,M INX H MOV D,M XCHG RET .189: LXI H,2-.186 DAD SP MOV E,M INX H MOV D,M XCHG mov a,m ora a JNZ .190 LXI H,0 RET .190: LXI H,2-.186 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 POP H CALL .ne## JZ .191 LXI H,12-.186 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,2-.186 DAD SP MOV E,M INX H MOV D,M LXI H,0-.186 DAD SP MOV M,E INX H MOV M,D .191: JMP .187 .188: RET .186 EQU -4 PUBLIC usubstr_ usubstr_: CALL .zsav## DW .192 LXI H,12-.192 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,14-.192 DAD SP MOV E,M INX H MOV D,M LXI H,2-.192 DAD SP MOV M,E INX H MOV M,D LXI H,0-.192 DAD SP MOV M,E INX H MOV M,D .193: MOV H,B MOV L,C mov a,m ora a JNZ .195 LXI H,0-.192 DAD SP MOV E,M INX H MOV D,M XCHG RET .195: LXI H,2-.192 DAD SP MOV E,M INX H MOV D,M XCHG mov a,m ora a JNZ .196 LXI H,0 RET .196: LXI H,2-.192 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D FUNC toupper_ CALL toupper_ POP D PUSH H MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 PUSH D FUNC toupper_ CALL toupper_ POP D POP D CALL .ne## JZ .197 LXI H,12-.192 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,2-.192 DAD SP MOV E,M INX H MOV D,M LXI H,0-.192 DAD SP MOV M,E INX H MOV M,D .197: JMP .193 .194: RET .192 EQU -4 PUBLIC atoi_ atoi_: CALL .zsav## DW .198 .199: LXI H,12-.198 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 PUSH D FUNC iswhite_ CALL iswhite_ POP D JZ .200 JMP .199 .200: LXI H,12-.198 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A DCX H XCHG POP H MOV M,E INX H MOV M,D XCHG MOV E,M MVI D,0 XCHG JMP .201 .203: LXI H,1 XCHG LXI H,2-.198 DAD SP MOV M,E LXI H,12-.198 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D JMP .202 .204: LXI H,12-.198 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D .205: LXI H,0 XCHG LXI H,2-.198 DAD SP MOV M,E JMP .202 .201: CALL .swt## DW 2 DW 45,.203 DW 43,.204 DW .205 .202: LXI H,0 MOV B,H MOV C,L .206: LXI H,12-.198 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H MOV E,M MVI D,0 LXI H,3-.198 DAD SP MOV M,E PUSH D FUNC isdigit_ CALL isdigit_ POP D JZ .207 MOV H,B MOV L,C LXI D,10 CALL .ml## PUSH H LXI H,5-.198 DAD SP MOV E,M MVI D,0 POP H DAD D LXI D,-48 DAD D MOV B,H MOV C,L JMP .206 .207: LXI H,2-.198 DAD SP mov a,m ora a JZ .208 MOV H,B MOV L,C CALL .ng## JMP .209 .208: MOV H,B MOV L,C .209: RET .198 EQU -2 PUBLIC sleep_ sleep_: CALL .zsav## DW .210 .211: LXI H,12-.210 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A DCX H XCHG POP H MOV M,E INX H MOV M,D MOV A,D ORA E JZ .212 LXI H,9216 MOV B,H MOV C,L .213: MOV H,B MOV L,C DCX H MOV B,H MOV C,L MOV A,H ORA L JZ .214 JMP .213 .214: JMP .211 .212: RET .210 EQU 0 PUBLIC abs_ abs_: CALL .zsav## DW .215 LXI H,12-.215 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,0 CALL .lt## JZ .216 MOV H,B MOV L,C CALL .ng## JMP .217 .216: MOV H,B MOV L,C .217: RET .215 EQU 0 PUBLIC absval_ absval_: CALL .zsav## DW .218 LXI H,12-.218 DAD SP MOV E,M INX H MOV D,M MOV B,D MOV C,E LXI H,0 CALL .lt## JZ .219 MOV H,B MOV L,C CALL .ng## JMP .220 .219: MOV H,B MOV L,C .220: RET .218 EQU 0 PUBLIC min_ min_: CALL .zsav## DW .221 LXI H,12-.221 DAD SP MOV E,M INX H MOV D,M LXI H,14-.221 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .lt## JZ .222 LXI H,12-.221 DAD SP MOV E,M INX H MOV D,M XCHG JMP .223 .222: LXI H,14-.221 DAD SP MOV E,M INX H MOV D,M XCHG .223: RET .221 EQU 0 PUBLIC max_ max_: CALL .zsav## DW .224 LXI H,12-.224 DAD SP MOV E,M INX H MOV D,M LXI H,14-.224 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .lt## JZ .225 LXI H,14-.224 DAD SP MOV E,M INX H MOV D,M XCHG JMP .226 .225: LXI H,12-.224 DAD SP MOV E,M INX H MOV D,M XCHG .226: RET .224 EQU 0 PUBLIC kbhit_ kbhit_: CALL .zsav## DW .227 FUNC cconst_ CALL cconst_ RET .227 EQU 0 PUBLIC pause_ pause_: CALL .zsav## DW .228 .229: FUNC kbhit_ CALL kbhit_ JNZ .230 JMP .229 .230: RET .228 EQU 0 PUBLIC putdec_ putdec_: CALL .zsav## DW .231 LXI H,12-.231 DAD SP MOV E,M INX H MOV D,M LXI H,0 CALL .ge## JZ .232 LXI H,12-.231 DAD SP MOV E,M INX H MOV D,M XCHG JMP .233 .232: LXI H,45 PUSH H FUNC putchar_ CALL putchar_ POP D LXI H,12-.231 DAD SP MOV E,M INX H MOV D,M XCHG CALL .ng## .233: MOV B,H MOV C,L MOV H,B MOV L,C LXI D,10 XCHG CALL .ud## XCHG LXI H,12-.231 DAD SP MOV M,E INX H MOV M,D MOV A,D ORA E JZ .234 LXI H,12-.231 DAD SP MOV E,M INX H MOV D,M PUSH D FUNC putdec_ CALL putdec_ POP D .234: MOV H,B MOV L,C LXI D,10 XCHG CALL .um## LXI D,48 DAD D PUSH H FUNC putchar_ CALL putchar_ POP D RET .231 EQU 0 COMMON /ccrand_/ .235: DS 2 CSEG PUBLIC srand_ srand_: CALL .zsav## DW .236 LXI H,12-.236 DAD SP mov a,m inx h ora m JNZ .237 LXI H,.79+0 PUSH H FUNC puts_ CALL puts_ POP D JMP .239 .238: MOV H,B MOV L,C INX H MOV B,H MOV C,L .239: FUNC kbhit_ CALL kbhit_ JNZ .240 JMP .238 .240: MOV H,B MOV L,C SHLD .235 JMP .241 .237: LXI H,12-.236 DAD SP MOV E,M INX H MOV D,M XCHG SHLD .235 .241: RET .236 EQU 0 .79: DB 87,97,105,116,32,97,32,109,111,109,101,110,116,44,32 DB 116,104,101,110,32,115,116,114,105,107,101,32,97,32,107 DB 101,121,0 PUBLIC rand_ rand_: CALL .zsav## DW .243 LHLD .235 LXI D,32719 CALL .ml## INX H INX H INX H LXI D,32749 XCHG CALL .rm## SHLD .235 RET .243 EQU 0 PUBLIC peek_ peek_: CALL .zsav## DW .244 LXI H,12-.244 DAD SP MOV E,M INX H MOV D,M XCHG MOV E,M MVI D,0 XCHG RET .244 EQU 0 PUBLIC poke_ poke_: CALL .zsav## DW .245 LXI H,14-.245 DAD SP MOV E,M MVI D,0 PUSH D LXI H,14-.245 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E RET .245 EQU 0 PUBLIC initw_ initw_: CALL .zsav## DW .246 .247: LXI H,14-.246 DAD SP mov a,m inx h ora m JZ .248 LXI H,14-.246 DAD SP PUSH H FUNC getval_ CALL getval_ POP D PUSH H LXI H,14-.246 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H DCX H POP D MOV M,E INX H MOV M,D JMP .247 .248: RET .246 EQU 0 PUBLIC initb_ initb_: CALL .zsav## DW .249 .250: LXI H,14-.249 DAD SP mov a,m inx h ora m JZ .251 LXI H,14-.249 DAD SP PUSH H FUNC getval_ CALL getval_ POP D PUSH H LXI H,14-.249 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A INX H XCHG POP H MOV M,E INX H MOV M,D XCHG DCX H POP D MOV M,E JMP .250 .251: RET .249 EQU 0 PUBLIC getval_ getval_: CALL .zsav## DW .252 LXI H,12-.252 DAD SP MOV E,M INX H MOV D,M XCHG MOV E,M INX H MOV D,M MOV B,D MOV C,E mov h,b mov l,c MOV E,M MVI D,0 MOV A,D ORA E JNZ .253 LXI H,0 PUSH H LXI H,14-.252 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E INX H MOV M,D XCHG RET .253: LXI H,0 XCHG LXI H,2-.252 DAD SP MOV M,E INX H MOV M,D .254: mov h,b mov l,c MOV E,M MVI D,0 PUSH D FUNC isdigit_ CALL isdigit_ POP D JZ .255 LXI H,2-.252 DAD SP MOV E,M INX H MOV D,M LXI H,10 CALL .ml## PUSH H MOV H,B MOV L,C INX H MOV B,H MOV C,L DCX H MOV E,M MVI D,0 POP H DAD D LXI D,-48 DAD D XCHG LXI H,2-.252 DAD SP MOV M,E INX H MOV M,D JMP .254 .255: .256: MOV H,B MOV L,C mov a,m ora a JZ .257 mov h,b mov l,c MOV E,M MVI D,0 PUSH D FUNC isdigit_ CALL isdigit_ POP D JNZ .257 MOV H,B MOV L,C INX H MOV B,H MOV C,L JMP .256 .257: MOV H,B MOV L,C PUSH H LXI H,14-.252 DAD SP MOV E,M INX H MOV D,M XCHG POP D MOV M,E INX H MOV M,D LXI H,2-.252 DAD SP MOV E,M INX H MOV D,M XCHG RET .252 EQU -2 PUBLIC qsort_ qsort_: CALL .zsav## DW .258 LXI H,14-.258 DAD SP MOV E,M INX H MOV D,M LXI H,16-.258 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ml## XCHG LXI H,-6-.258 DAD SP MOV M,E INX H MOV M,D LXI H,14-.258 DAD SP MOV E,M INX H MOV D,M LXI H,2 CALL .dv## XCHG LXI H,0-.258 DAD SP MOV M,E INX H MOV M,D JMP .260 .259: LXI H,2 XCHG LXI H,0-.258 DAD SP PUSH H MOV A,M INX H MOV H,M MOV L,A XCHG CALL .dv## XCHG POP H MOV M,E INX H MOV M,D .260: LXI H,0-.258 DAD SP MOV E,M INX H MOV D,M LXI H,0 CALL .gt## JZ .261 LXI H,0-.258 DAD SP MOV E,M INX H MOV D,M LXI H,16-.258 DAD SP MOV A,M INX H MOV H,M MOV L,A CALL .ml##