Compucolor.org – Virtual Media

Listing of file='HXDECM.BAS;01' on disk='vmedia/taylor_7-sector.ccvf'

100 REM ** DECIMAL/HEX CONVERSIONS **
110 PLOT 6,2,12:PRINT TAB( 14)"DECIMAL-HEX CONVERSION PROGRAM"
120 PRINT :PRINT TAB( 10)"1. CONVERT DECIMAL TO HEX"
130 PRINT TAB( 10)"2. CONVERT HEX TO DECIMAL"
140 PRINT TAB( 10)"3. EXIT PROGRAM"
150 PRINT :PRINT TAB( 14):INPUT "ENTER DESIRED CONVERSION: ";I
160 PRINT :PRINT
170 S$= "0123456789ABCDEF"
180 ON IGOTO 240,320,210
190 IF I= 2THEN 320
200 GOTO 100
210 END
220 REM ** DEC TO HEX
230 PRINT TAB( 35)CHR$ (28);"ILLEGAL NUMBER"
240 AD$= "":INPUT "ENTER DECIMAL NUMBER: ";A:REM 
250 IF A> 65535THEN 230
260 IF A< 0THEN 100
270 D= 65536:FOR I= 1TO 4:D= D/ 16:V= INT (A/ D):A= A- V* D
280 ADR$= ADR$+ MID$ (S$,V+ 1,1):NEXT I
290 PRINT "      HEX EQUIVALENT: ";AD$:PRINT "":GOTO 240
300 REM ** HEX TO DEC
310 PRINT TAB( 35)CHR$ (28);"ILLEGAL ENTRY"
320 INPUT "ENTER HEXIDECIMAL NUMBER: ";AD$:REM 
330 IF LEFT$ (AD$,1)= "-"THEN 100
340 IF LEN (AD$)> 4THEN 310
350 AD$= RIGHT$ ("0000"+ AD$,4)
360 D= 65536:A= 0:FOR I= 1TO 4:D= D/ 16
370 FOR J= 1TO 16
380 IF MID$ (AD$,I,1)= MID$ (S$,J,1)THEN A= A+ (J- 1)* D:J= 20
390 NEXT J:IF J< 20THEN I= 4:NEXT I:GOTO 310
400 NEXT I
410 PRINT "     DECIMAL EQUIVALENT: ";A:PRINT "":GOTO 320