1 REM Ins{nd av Bengt Holgersson <559> 1986-05-11 20.25.07 ORG 0FA00H ;DOSBUF 5 TALIN: LD HL,0 ;NOLLST[LL RESULTATREGISTER PUSH DE LOOP0: CALL GETCHR ;LETA UPP SLUTET P] RADEN CP 13 INC DE JR NZ,LOOP0 DEC DE ;H[MTA SISTA TECKNET LOOP1: DEC DE LD A,(DE) CP ' ' JR Z,LOOP1 CALL GETCHR POP DE CP 'B' JR Z,BIN CP 'O' JR Z,OCT CP 'Q' JR Z,OCT CP 'H' JP Z,HEX JR DECI GETCH1: INC DE GETCHR: LD A,(DE) CP ' ' JR Z,GETCH1 CP '`' RET C AND '_' ;OMVANDLA TILL VERSAL RET BIN: CALL GETCHR CALL CHECK JR NC,ENDBIN CP '2' JR NC,ENDBIN SUB '0' LD C,A LD B,0 CALL SLHL ;HL=HL*2 CALL ADDBC ;HL=HL+BC INC DE JR BIN ENDBIN: CP 'B' JP ENDTYP OCT: CALL GETCHR CALL CHECK JR NC,ENDOCT CP '8' JR NC,ENDOCT SUB '0' LD C,A LD B,3 ;HL=HL*8 LOOP2: CALL SLHL DJNZ LOOP2 CALL ADDBC ;HL=HL+BC INC DE JR OCT ENDOCT: CP 'O' JP Z,ENDTYP CP 'Q' JP ENDTYP DECI: CALL GETCHR CP 13 JP Z,ERR30 ;TOM RAD ! JR DECI2 DECI1: CALL GETCHR DECI2: CALL CHECK JR NC,ENDDEC CP ':' JR NC,ENDDEC SUB '0' LD C,A LD B,0 PUSH BC LD B,H ;HL=HL*10 LD C,L CALL SLHL CALL SLHL CALL ADDBC CALL SLHL POP BC CALL ADDBC ;HL=HL+BC INC DE JR DECI1 ENDDEC: CP 'D' JR Z,ENDTYP JR ENDCR HEX: CALL GETCHR CALL CHECK JR NC,ENDHEX CP 'G' JR NC,ENDHEX SUB '0' CP 00AH JR C,NUM SUB 007H NUM: LD C,A LD B,4 ;HL=HL*16 LOOP3 CALL SLHL DJNZ LOOP3 CALL ADDBC ;HL=HL+BC INC DE JR HEX ENDHEX: CP 'H' JR ENDTYP CHECK: CP '0' JR C,CLRCY CP '9'+1 RET C CP 'A' JR C,CLRCY CP 'F'+1 RET C CLRCY: AND A RET SLHL: ADD HL,HL RET NC JR ERR7 ADDBC: ADD HL,BC RET NC JR ERR7 ENDTYP: JR NZ,ERR12 CALL GETCH1 ENDCR: CP 13 JR NZ,ERR12 RET ERR12: RST 10H DEFB 12+128 ERR7: RST 10H DEFB 7+128 ERR30: RST 10H DEFB 30+128 END