home *** CD-ROM | disk | FTP | other *** search
/ Shareware Supreme Volume 6 #1 / swsii.zip / swsii / 167 / FILLDISK.ZIP / FILLDISK.LST < prev    next >
File List  |  1990-10-10  |  57KB  |  1,220 lines

  1.                                                                        PAGE   1
  2.                                                                        10-13-86
  3.                                                                        13:33:05
  4. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  5.  
  6.  0030   0006    DIM BLOCK$(511)
  7.  0030   0006    DIM DFNAME$(15)
  8.  0030   0006    START:
  9.  0030   0006    CLEAR
  10.  0030    **                    CALL  $INI
  11.  0035    **                    CALL  $560
  12.  003A    **            I00001: CALL  $DSW
  13.  003F    **                    CALL  $EVT
  14.  0044    **                    INT   3
  15.  0045    **                    INT   3
  16.  0046    **                    INT   3
  17.  0047    **            I00002: INT   3
  18.  0048    **                    CALL  $LINA
  19.  004D    **                    INT   3
  20.  004E    **                    CALL  $CLX
  21.  0053   0846    LOCATE  1,10: PRINT "FILLDISK.EXE       DOS UTILITY       10/10
  22.                 /90 BENNY THE ROBOT"
  23.  0053    **                    INT   3
  24.  0054    **                    MOV   BX,0001H
  25.  0057    **                    CALL  $LO0
  26.  005C    **                    MOV   BX,000AH
  27.  005F    **                    CALL  $LO2
  28.  0064    **                    INT   3
  29.  0065    **                    CALL  $PR0A
  30.  006A    **                    MOV   BX,OFFSET <const>
  31.  006D    **                    CALL  $PV2D
  32.  0072    **                    CALL  $PV4
  33.  0077   0846    LOCATE  2,10: PRINT "____________"
  34.  0077    **                    INT   3
  35.  0078    **                    MOV   BX,0002H
  36.  007B    **                    CALL  $LO0
  37.  0080    **                    MOV   BX,000AH
  38.  0083    **                    CALL  $LO2
  39.  0088    **                    INT   3
  40.  0089    **                    CALL  $PR0A
  41.  008E    **                    MOV   BX,OFFSET <const>
  42.  0091    **                    CALL  $PV2D
  43.  0096    **                    CALL  $PV4
  44.  009B   0846    
  45.  009B   0846    LOCATE  4,10: PRINT "Purpose:  Calculate remaining free disk sp
  46.                 ace on target drive"
  47.  009B    **                    INT   3
  48.  009C    **                    MOV   BX,0004H
  49.  009F    **                    CALL  $LO0
  50.  00A4    **                    MOV   BX,000AH
  51.  00A7    **                    CALL  $LO2
  52.  00AC    **                    INT   3
  53.  00AD    **                    CALL  $PR0A
  54.  00B2    **                    MOV   BX,OFFSET <const>
  55.  00B5    **                    CALL  $PV2D
  56.  00BA    **                    CALL  $PV4
  57.  00BF   0846    LOCATE  5,10: PRINT "          and fill with one file  of speci
  58.                 fied constant data."
  59.  00BF    **                    INT   3
  60.                                                                        PAGE   2
  61.                                                                        10-13-86
  62.                                                                        13:33:05
  63. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  64.  
  65.  00C0    **                    MOV   BX,0005H
  66.  00C3    **                    CALL  $LO0
  67.  00C8    **                    MOV   BX,000AH
  68.  00CB    **                    CALL  $LO2
  69.  00D0    **                    INT   3
  70.  00D1    **                    CALL  $PR0A
  71.  00D6    **                    MOV   BX,OFFSET <const>
  72.  00D9    **                    CALL  $PV2D
  73.  00DE    **                    CALL  $PV4
  74.  00E3   0846    
  75.  00E3   0846    REPEAT:
  76.  00E3    **                    INT   3
  77.  00E4    **            I00003: INT   3
  78.  00E5    **                    CALL  $LINA
  79.  00EA   0846    LOCATE  8,1: PRINT SPACE$(80)
  80.  00EA    **                    INT   3
  81.  00EB    **                    MOV   BX,0008H
  82.  00EE    **                    CALL  $LO0
  83.  00F3    **                    MOV   BX,0001H
  84.  00F6    **                    CALL  $LO2
  85.  00FB    **                    INT   3
  86.  00FC    **                    CALL  $PR0A
  87.  0101    **                    MOV   BX,0050H
  88.  0104    **                    CALL  $SP$
  89.  0109    **                    CALL  $PV2D
  90.  010E    **                    CALL  $PV4
  91.  0113   0846    LOCATE 18,1: PRINT SPACE$(80)
  92.  0113    **                    INT   3
  93.  0114    **                    MOV   BX,0012H
  94.  0117    **                    CALL  $LO0
  95.  011C    **                    MOV   BX,0001H
  96.  011F    **                    CALL  $LO2
  97.  0124    **                    INT   3
  98.  0125    **                    CALL  $PR0A
  99.  012A    **                    MOV   BX,0050H
  100.  012D    **                    CALL  $SP$
  101.  0132    **                    CALL  $PV2D
  102.  0137    **                    CALL  $PV4
  103.  013C   0846    LOCATE 21,1: PRINT SPACE$(80)
  104.  013C    **                    INT   3
  105.  013D    **                    MOV   BX,0015H
  106.  0140    **                    CALL  $LO0
  107.  0145    **                    MOV   BX,0001H
  108.  0148    **                    CALL  $LO2
  109.  014D    **                    INT   3
  110.  014E    **                    CALL  $PR0A
  111.  0153    **                    MOV   BX,0050H
  112.  0156    **                    CALL  $SP$
  113.  015B    **                    CALL  $PV2D
  114.  0160    **                    CALL  $PV4
  115.  0165   0846    LOCATE 22,1: PRINT SPACE$(80)
  116.  0165    **                    INT   3
  117.  0166    **                    MOV   BX,0016H
  118.  0169    **                    CALL  $LO0
  119.                                                                        PAGE   3
  120.                                                                        10-13-86
  121.                                                                        13:33:05
  122. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  123.  
  124.  016E    **                    MOV   BX,0001H
  125.  0171    **                    CALL  $LO2
  126.  0176    **                    INT   3
  127.  0177    **                    CALL  $PR0A
  128.  017C    **                    MOV   BX,0050H
  129.  017F    **                    CALL  $SP$
  130.  0184    **                    CALL  $PV2D
  131.  0189    **                    CALL  $PV4
  132.  018E   0846    LOCATE  8,10: INPUT "Enter drive you want to work on (A, B, C .
  133.                 ..): ",DRIVE$
  134.  018E    **                    INT   3
  135.  018F    **                    MOV   BX,0008H
  136.  0192    **                    CALL  $LO0
  137.  0197    **                    MOV   BX,000AH
  138.  019A    **                    CALL  $LO2
  139.  019F    **                    INT   3
  140.  01A0    **                    MOV   BX,OFFSET <const>
  141.  01A3    **                    CALL  $IN0A
  142.  01A8    **                    DB    02H
  143.  01A9    **                    CALL  $IPUA
  144.  01AE    **                    DB    01H
  145.  01AF    **                    DB    04H
  146.  01B0    **                    MOV   BX,OFFSET DRIVE$
  147.  01B3    **                    CALL  $IPUB
  148.  01B8   084A    IF LEN(DRIVE$) > 1 THEN GOTO REPEAT
  149.  01B8    **                    INT   3
  150.  01B9    **                    MOV   BX,OFFSET DRIVE$
  151.  01BC    **                    CALL  $LENA
  152.  01C1    **                    CMP   BX,01H
  153.  01C4    **                    JG    $+03H
  154.  01C6    **                    JMP   I00004
  155.  01C9    **                    INT   3
  156.  01CA    **                    JMP   I00003
  157.  01CD   084A    IF DRIVE$ = "" THEN DRIVE$ = "A"
  158.  01CD    **            I00004: INT   3
  159.  01CE    **                    MOV   BX,OFFSET <const>
  160.  01D1    **                    MOV   AX,OFFSET DRIVE$
  161.  01D4    **                    CALL  $SCMA
  162.  01D9    **                    JE    $+03H
  163.  01DB    **                    JMP   I00005
  164.  01DE    **                    INT   3
  165.  01DF    **                    MOV   BX,OFFSET <const>
  166.  01E2    **                    MOV   DX,OFFSET DRIVE$
  167.  01E5    **                    CALL  $SASA
  168.  01EA   084A    DRIVE% = ASC(DRIVE$)
  169.  01EA    **            I00005: INT   3
  170.  01EB    **                    MOV   BX,OFFSET DRIVE$
  171.  01EE    **                    CALL  $LENB
  172.  01F3    **                    XCHG  AX,BX
  173.  01F4    **                    MOV   DRIVE%,AX
  174.  01F7   084C    IF DRIVE% > 96 THEN DRIVE% = DRIVE% - 96 ELSE DRIVE% = DRIVE% -
  175.                  64
  176.  01F7    **                    INT   3
  177.  01F8    **                    CMP   WORD PTR DRIVE%,60H
  178.                                                                        PAGE   4
  179.                                                                        10-13-86
  180.                                                                        13:33:05
  181. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  182.  
  183.  01FD    **                    JG    $+03H
  184.  01FF    **                    JMP   I00006
  185.  0202    **                    INT   3
  186.  0203    **                    MOV   AX,DRIVE%
  187.  0206    **                    ADD   AX,0FFA0H
  188.  0209    **                    INTO  
  189.  020A    **                    MOV   DRIVE%,AX
  190.  020D    **                    JMP   I00007
  191.  0210    **            I00006: INT   3
  192.  0211    **                    MOV   AX,DRIVE%
  193.  0214    **                    ADD   AX,0FFC0H
  194.  0217    **                    INTO  
  195.  0218    **                    MOV   DRIVE%,AX
  196.  021B   084C    LOCATE  8,57: PRINT CHR$(DRIVE% + 64)
  197.  021B    **            I00007: INT   3
  198.  021C    **                    MOV   BX,0008H
  199.  021F    **                    CALL  $LO0
  200.  0224    **                    MOV   BX,0039H
  201.  0227    **                    CALL  $LO2
  202.  022C    **                    INT   3
  203.  022D    **                    CALL  $PR0A
  204.  0232    **                    MOV   BX,DRIVE%
  205.  0236    **                    ADD   BX,40H
  206.  0239    **                    INTO  
  207.  023A    **                    CALL  $CHR
  208.  023F    **                    CALL  $PV2D
  209.  0244    **                    CALL  $PV4
  210.  0249   084C    
  211.  0249   084C    NAMEAGAIN:
  212.  0249    **                    INT   3
  213.  024A    **            I00008: INT   3
  214.  024B    **                    CALL  $LINA
  215.  0250   084C    LOCATE  9,1: PRINT SPACE$(80)
  216.  0250    **                    INT   3
  217.  0251    **                    MOV   BX,0009H
  218.  0254    **                    CALL  $LO0
  219.  0259    **                    MOV   BX,0001H
  220.  025C    **                    CALL  $LO2
  221.  0261    **                    INT   3
  222.  0262    **                    CALL  $PR0A
  223.  0267    **                    MOV   BX,0050H
  224.  026A    **                    CALL  $SP$
  225.  026F    **                    CALL  $PV2D
  226.  0274    **                    CALL  $PV4
  227.  0279   084C    LOCATE  9,10: PRINT "Enter file name, RETURN for default file n
  228.                 ame  FILLER.TMP"
  229.  0279    **                    INT   3
  230.  027A    **                    MOV   BX,0009H
  231.  027D    **                    CALL  $LO0
  232.  0282    **                    MOV   BX,000AH
  233.  0285    **                    CALL  $LO2
  234.  028A    **                    INT   3
  235.  028B    **                    CALL  $PR0A
  236.  0290    **                    MOV   BX,OFFSET <const>
  237.                                                                        PAGE   5
  238.                                                                        10-13-86
  239.                                                                        13:33:05
  240. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  241.  
  242.  0293    **                    CALL  $PV2D
  243.  0298    **                    CALL  $PV4
  244.  029D   084C    LOCATE  9,57: INPUT "",DFNAME$
  245.  029D    **                    INT   3
  246.  029E    **                    MOV   BX,0009H
  247.  02A1    **                    CALL  $LO0
  248.  02A6    **                    MOV   BX,0039H
  249.  02A9    **                    CALL  $LO2
  250.  02AE    **                    INT   3
  251.  02AF    **                    MOV   BX,OFFSET <const>
  252.  02B2    **                    CALL  $IN0A
  253.  02B7    **                    DB    02H
  254.  02B8    **                    CALL  $IPUA
  255.  02BD    **                    DB    01H
  256.  02BE    **                    DB    04H
  257.  02BF    **                    MOV   BX,OFFSET DFNAME$
  258.  02C2    **                    CALL  $IPUB
  259.  02C7   0850    IF LEN(DFNAME$) > 12 THEN GOTO NAMEAGAIN
  260.  02C7    **                    INT   3
  261.  02C8    **                    MOV   BX,OFFSET DFNAME$
  262.  02CB    **                    CALL  $LENA
  263.  02D0    **                    CMP   BX,0CH
  264.  02D3    **                    JG    $+03H
  265.  02D5    **                    JMP   I00009
  266.  02D8    **                    INT   3
  267.  02D9    **                    JMP   I00008
  268.  02DC   0850    IF DFNAME$ = "" THEN DFNAME$ = "FILLER.TMP"
  269.  02DC    **            I00009: INT   3
  270.  02DD    **                    MOV   BX,OFFSET <const>
  271.  02E0    **                    MOV   AX,OFFSET DFNAME$
  272.  02E3    **                    CALL  $SCMA
  273.  02E8    **                    JE    $+03H
  274.  02EA    **                    JMP   I00010
  275.  02ED    **                    INT   3
  276.  02EE    **                    MOV   BX,OFFSET <const>
  277.  02F1    **                    MOV   DX,OFFSET DFNAME$
  278.  02F4    **                    CALL  $SASA
  279.  02F9   0850    LOCATE  9,57: PRINT SPACE$(12)
  280.  02F9    **            I00010: INT   3
  281.  02FA    **                    MOV   BX,0009H
  282.  02FD    **                    CALL  $LO0
  283.  0302    **                    MOV   BX,0039H
  284.  0305    **                    CALL  $LO2
  285.  030A    **                    INT   3
  286.  030B    **                    CALL  $PR0A
  287.  0310    **                    MOV   BX,000CH
  288.  0313    **                    CALL  $SP$
  289.  0318    **                    CALL  $PV2D
  290.  031D    **                    CALL  $PV4
  291.  0322   0850    LOCATE  9,57: PRINT DFNAME$
  292.  0322    **                    INT   3
  293.  0323    **                    MOV   BX,0009H
  294.  0326    **                    CALL  $LO0
  295.  032B    **                    MOV   BX,0039H
  296.                                                                        PAGE   6
  297.                                                                        10-13-86
  298.                                                                        13:33:05
  299. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  300.  
  301.  032E    **                    CALL  $LO2
  302.  0333    **                    INT   3
  303.  0334    **                    CALL  $PR0A
  304.  0339    **                    MOV   BX,OFFSET DFNAME$
  305.  033C    **                    CALL  $PV2D
  306.  0341    **                    CALL  $PV4
  307.  0346   0850    LOCATE 10,10: PRINT "Fill character,  RETURN for default:  00  
  308.                 (entry in hex)"
  309.  0346    **                    INT   3
  310.  0347    **                    MOV   BX,000AH
  311.  034A    **                    CALL  $LO0
  312.  034F    **                    CALL  $LO2
  313.  0354    **                    INT   3
  314.  0355    **                    CALL  $PR0A
  315.  035A    **                    MOV   BX,OFFSET <const>
  316.  035D    **                    CALL  $PV2D
  317.  0362    **                    CALL  $PV4
  318.  0367   0850    LOCATE 11,10: PRINT "(Entries in decimal must be followed by D)
  319.                 "
  320.  0367    **                    INT   3
  321.  0368    **                    MOV   BX,000BH
  322.  036B    **                    CALL  $LO0
  323.  0370    **                    MOV   BX,000AH
  324.  0373    **                    CALL  $LO2
  325.  0378    **                    INT   3
  326.  0379    **                    CALL  $PR0A
  327.  037E    **                    MOV   BX,OFFSET <const>
  328.  0381    **                    CALL  $PV2D
  329.  0386    **                    CALL  $PV4
  330.  038B   0850    GOTO ENTERVAL
  331.  038B    **                    INT   3
  332.  038C    **                    JMP   I00011
  333.  038F   0850    
  334.  038F   0850    VALAGAIN:
  335.  038F    **                    INT   3
  336.  0390    **            I00012: INT   3
  337.  0391    **                    CALL  $LINA
  338.  0396   0850    LOCATE 10,48: PRINT SPACE$(32)
  339.  0396    **                    INT   3
  340.  0397    **                    MOV   BX,000AH
  341.  039A    **                    CALL  $LO0
  342.  039F    **                    MOV   BX,0030H
  343.  03A2    **                    CALL  $LO2
  344.  03A7    **                    INT   3
  345.  03A8    **                    CALL  $PR0A
  346.  03AD    **                    MOV   BX,0020H
  347.  03B0    **                    CALL  $SP$
  348.  03B5    **                    CALL  $PV2D
  349.  03BA    **                    CALL  $PV4
  350.  03BF   0850    LOCATE 11,1: PRINT SPACE$(80)
  351.  03BF    **                    INT   3
  352.  03C0    **                    MOV   BX,000BH
  353.  03C3    **                    CALL  $LO0
  354.  03C8    **                    MOV   BX,0001H
  355.                                                                        PAGE   7
  356.                                                                        10-13-86
  357.                                                                        13:33:05
  358. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  359.  
  360.  03CB    **                    CALL  $LO2
  361.  03D0    **                    INT   3
  362.  03D1    **                    CALL  $PR0A
  363.  03D6    **                    MOV   BX,0050H
  364.  03D9    **                    CALL  $SP$
  365.  03DE    **                    CALL  $PV2D
  366.  03E3    **                    CALL  $PV4
  367.  03E8   0850    ENTERVAL:
  368.  03E8    **                    INT   3
  369.  03E9    **            I00011: INT   3
  370.  03EA    **                    CALL  $LINA
  371.  03EF   0850    LOCATE 10,48: INPUT "",DFILLER$
  372.  03EF    **                    INT   3
  373.  03F0    **                    MOV   BX,000AH
  374.  03F3    **                    CALL  $LO0
  375.  03F8    **                    MOV   BX,0030H
  376.  03FB    **                    CALL  $LO2
  377.  0400    **                    INT   3
  378.  0401    **                    MOV   BX,OFFSET <const>
  379.  0404    **                    CALL  $IN0A
  380.  0409    **                    DB    02H
  381.  040A    **                    CALL  $IPUA
  382.  040F    **                    DB    01H
  383.  0410    **                    DB    04H
  384.  0411    **                    MOV   BX,OFFSET DFILLER$
  385.  0414    **                    CALL  $IPUB
  386.  0419   0854    IF DFILLER$ = "" THEN DFILLER% = 0: GOTO GETSPACE
  387.  0419    **                    INT   3
  388.  041A    **                    MOV   BX,OFFSET <const>
  389.  041D    **                    MOV   AX,OFFSET DFILLER$
  390.  0420    **                    CALL  $SCMA
  391.  0425    **                    JE    $+03H
  392.  0427    **                    JMP   I00013
  393.  042A    **                    INT   3
  394.  042B    **                    MOV   DFILLER%,0000H
  395.  0431    **                    INT   3
  396.  0432    **                    JMP   I00014
  397.  0435   0856    IF LEN(DFILLER$) < 3 THEN GOTO HEXVALUE
  398.  0435    **            I00013: INT   3
  399.  0436    **                    MOV   BX,OFFSET DFILLER$
  400.  0439    **                    CALL  $LENA
  401.  043E    **                    CMP   BX,03H
  402.  0441    **                    JL    $+03H
  403.  0443    **                    JMP   I00015
  404.  0446    **                    INT   3
  405.  0447    **                    JMP   I00016
  406.  044A   0856    IF VAL(DFILLER$) > 255 THEN GOTO VALAGAIN
  407.  044A    **            I00015: INT   3
  408.  044B    **                    MOV   BX,OFFSET DFILLER$
  409.  044E    **                    CALL  $VAL
  410.  0453    **                    MOV   DI,OFFSET <const>
  411.  0456    **                    CALL  $FCMD
  412.  045B    **                    JA    $+03H
  413.  045D    **                    JMP   I00017
  414.                                                                        PAGE   8
  415.                                                                        10-13-86
  416.                                                                        13:33:05
  417. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  418.  
  419.  0460    **                    INT   3
  420.  0461    **                    JMP   I00012
  421.  0464   0856    IF RIGHT$(DFILLER$,1) = "D" OR RIGHT$(DFILLER$,1) = "d" THEN DF
  422.                 ILLER% = VAL(LEFT$(DFILLER$,3)):TYPE$ = "Decimal":GOTO GETSPACE
  423.  0464    **            I00017: INT   3
  424.  0465    **                    MOV   BX,OFFSET DFILLER$
  425.  0468    **                    MOV   DX,0001H
  426.  046B    **                    MOV   CX,BX
  427.  046D    **                    CALL  $RIG
  428.  0472    **                    XCHG  AX,BX
  429.  0473    **                    MOV   BX,OFFSET <const>
  430.  0476    **                    CALL  $SCMA
  431.  047B    **                    MOV   0FAH[BP],DX
  432.  047E    **                    MOV   DX,0000H
  433.  0481    **                    JNE   $+01H
  434.  0483    **                    DEC   DX
  435.  0484    **                    MOV   BX,CX
  436.  0486    **                    MOV   AX,DX
  437.  0488    **                    MOV   DX,0FAH[BP]
  438.  048B    **                    CALL  $RIG
  439.  0490    **                    XCHG  AX,BX
  440.  0491    **                    MOV   DX,BX
  441.  0493    **                    MOV   BX,OFFSET <const>
  442.  0496    **                    CALL  $SCMA
  443.  049B    **                    MOV   CX,0000H
  444.  049E    **                    JNE   $+01H
  445.  04A0    **                    DEC   CX
  446.  04A1    **                    OR    CX,DX
  447.  04A3    **                    AND   CX,CX
  448.  04A5    **                    JNE   $+03H
  449.  04A7    **                    JMP   I00018
  450.  04AA    **                    INT   3
  451.  04AB    **                    MOV   BX,OFFSET DFILLER$
  452.  04AE    **                    MOV   DX,0003H
  453.  04B1    **                    CALL  $LEF
  454.  04B6    **                    CALL  $VAL
  455.  04BB    **                    CALL  $CIND
  456.  04C0    **                    XCHG  AX,BX
  457.  04C1    **                    MOV   DFILLER%,AX
  458.  04C4    **                    INT   3
  459.  04C5    **                    MOV   BX,OFFSET <const>
  460.  04C8    **                    MOV   DX,OFFSET TYPE$
  461.  04CB    **                    CALL  $SASA
  462.  04D0    **                    INT   3
  463.  04D1    **                    JMP   I00014
  464.  04D4   085A    
  465.  04D4   085A    HEXVALUE:
  466.  04D4    **            I00018: INT   3
  467.  04D5    **            I00016: INT   3
  468.  04D6    **                    CALL  $LINA
  469.  04DB   085A    H2 = VAL(LEFT$(DFILLER$,1))
  470.  04DB    **                    INT   3
  471.  04DC    **                    MOV   BX,OFFSET DFILLER$
  472.  04DF    **                    MOV   DX,0001H
  473.                                                                        PAGE   9
  474.                                                                        10-13-86
  475.                                                                        13:33:05
  476. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  477.  
  478.  04E2    **                    CALL  $LEF
  479.  04E7    **                    CALL  $VAL
  480.  04EC    **                    CALL  $CSPB
  481.  04F1    **                    MOV   DI,OFFSET H2!
  482.  04F4    **                    CALL  $FASC
  483.  04F9   085E    H1 = VAL(MID$(DFILLER$,2,1))
  484.  04F9    **                    INT   3
  485.  04FA    **                    MOV   BX,OFFSET DFILLER$
  486.  04FD    **                    MOV   DX,0002H
  487.  0500    **                    MOV   CX,0001H
  488.  0503    **                    CALL  $MID
  489.  0508    **                    CALL  $VAL
  490.  050D    **                    CALL  $CSPB
  491.  0512    **                    MOV   DI,OFFSET H1!
  492.  0515    **                    CALL  $FASC
  493.  051A   0862    DFILLER% = H2 * 16 + H1
  494.  051A    **                    INT   3
  495.  051B    **                    MOV   SI,OFFSET H2!
  496.  051E    **                    CALL  $FSHA
  497.  0523    **                    DB    04H
  498.  0524    **                    MOV   DI,OFFSET H1!
  499.  0527    **                    CALL  $FADC
  500.  052C    **                    CALL  $CINC
  501.  0531    **                    XCHG  AX,BX
  502.  0532    **                    MOV   DFILLER%,AX
  503.  0535   0862    TYPE$ = "Hexadecimal"
  504.  0535    **                    INT   3
  505.  0536    **                    MOV   BX,OFFSET <const>
  506.  0539    **                    MOV   DX,OFFSET TYPE$
  507.  053C    **                    CALL  $SASA
  508.  0541   0862    
  509.  0541   0862    GETSPACE:
  510.  0541    **                    INT   3
  511.  0542    **            I00014: INT   3
  512.  0543    **                    CALL  $LINA
  513.  0548   0862    LOCATE 11,1: PRINT SPACE$(80)
  514.  0548    **                    INT   3
  515.  0549    **                    MOV   BX,000BH
  516.  054C    **                    CALL  $LO0
  517.  0551    **                    MOV   BX,0001H
  518.  0554    **                    CALL  $LO2
  519.  0559    **                    INT   3
  520.  055A    **                    CALL  $PR0A
  521.  055F    **                    MOV   BX,0050H
  522.  0562    **                    CALL  $SP$
  523.  0567    **                    CALL  $PV2D
  524.  056C    **                    CALL  $PV4
  525.  0571   0862    LOCATE 10,52: PRINT SPACE$(20)
  526.  0571    **                    INT   3
  527.  0572    **                    MOV   BX,000AH
  528.  0575    **                    CALL  $LO0
  529.  057A    **                    MOV   BX,0034H
  530.  057D    **                    CALL  $LO2
  531.  0582    **                    INT   3
  532.                                                                        PAGE  10
  533.                                                                        10-13-86
  534.                                                                        13:33:05
  535. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  536.  
  537.  0583    **                    CALL  $PR0A
  538.  0588    **                    MOV   BX,0014H
  539.  058B    **                    CALL  $SP$
  540.  0590    **                    CALL  $PV2D
  541.  0595    **                    CALL  $PV4
  542.  059A   0862    LOCATE 10,52: PRINT TYPE$
  543.  059A    **                    INT   3
  544.  059B    **                    MOV   BX,000AH
  545.  059E    **                    CALL  $LO0
  546.  05A3    **                    MOV   BX,0034H
  547.  05A6    **                    CALL  $LO2
  548.  05AB    **                    INT   3
  549.  05AC    **                    CALL  $PR0A
  550.  05B1    **                    MOV   BX,OFFSET TYPE$
  551.  05B4    **                    CALL  $PV2D
  552.  05B9    **                    CALL  $PV4
  553.  05BE   0862    LOCATE 12,10: PRINT "checking free disk space, please wait ... 
  554.                 "
  555.  05BE    **                    INT   3
  556.  05BF    **                    MOV   BX,000CH
  557.  05C2    **                    CALL  $LO0
  558.  05C7    **                    MOV   BX,000AH
  559.  05CA    **                    CALL  $LO2
  560.  05CF    **                    INT   3
  561.  05D0    **                    CALL  $PR0A
  562.  05D5    **                    MOV   BX,OFFSET <const>
  563.  05D8    **                    CALL  $PV2D
  564.  05DD    **                    CALL  $PV4
  565.  05E2   0862    
  566.  05E2   0862    BLOCK$ = STRING$(512,DFILLER%)
  567.  05E2    **                    INT   3
  568.  05E3    **                    MOV   BX,0200H
  569.  05E6    **                    MOV   DX,DFILLER%
  570.  05EA    **                    CALL  $ST$
  571.  05EF    **                    MOV   DX,OFFSET BLOCK$
  572.  05F2    **                    CALL  $SASA
  573.  05F7   0866    
  574.  05F7   0866    CALL DSPACE(DRIVE%,SECTORS%,BYTES%,CLUSTERS%)
  575.  05F7    **                    INT   3
  576.  05F8    **                    MOV   AX,OFFSET DRIVE%
  577.  05FB    **                    PUSH  AX
  578.  05FC    **                    MOV   AX,OFFSET SECTORS%
  579.  05FF    **                    PUSH  AX
  580.  0600    **                    MOV   AX,OFFSET BYTES%
  581.  0603    **                    PUSH  AX
  582.  0604    **                    MOV   AX,OFFSET CLUSTERS%
  583.  0607    **                    PUSH  AX
  584.  0608    **                    CALL  $ASP
  585.  060D    **                    CALL  DSPACE
  586.  0612    **                    PUSH  DS
  587.  0613    **                    POP   ES
  588.  0614    **                    CLD   
  589.  0615   086C    
  590.  0615   086C    LOCATE 13,1: PRINT SPACE$(80)
  591.                                                                        PAGE  11
  592.                                                                        10-13-86
  593.                                                                        13:33:05
  594. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  595.  
  596.  0615    **                    INT   3
  597.  0616    **                    MOV   BX,000DH
  598.  0619    **                    CALL  $LO0
  599.  061E    **                    MOV   BX,0001H
  600.  0621    **                    CALL  $LO2
  601.  0626    **                    INT   3
  602.  0627    **                    CALL  $PR0A
  603.  062C    **                    MOV   BX,0050H
  604.  062F    **                    CALL  $SP$
  605.  0634    **                    CALL  $PV2D
  606.  0639    **                    CALL  $PV4
  607.  063E   086C    LOCATE 14,1: PRINT SPACE$(80)
  608.  063E    **                    INT   3
  609.  063F    **                    MOV   BX,000EH
  610.  0642    **                    CALL  $LO0
  611.  0647    **                    MOV   BX,0001H
  612.  064A    **                    CALL  $LO2
  613.  064F    **                    INT   3
  614.  0650    **                    CALL  $PR0A
  615.  0655    **                    MOV   BX,0050H
  616.  0658    **                    CALL  $SP$
  617.  065D    **                    CALL  $PV2D
  618.  0662    **                    CALL  $PV4
  619.  0667   086C    LOCATE 15,1: PRINT SPACE$(80)
  620.  0667    **                    INT   3
  621.  0668    **                    MOV   BX,000FH
  622.  066B    **                    CALL  $LO0
  623.  0670    **                    MOV   BX,0001H
  624.  0673    **                    CALL  $LO2
  625.  0678    **                    INT   3
  626.  0679    **                    CALL  $PR0A
  627.  067E    **                    MOV   BX,0050H
  628.  0681    **                    CALL  $SP$
  629.  0686    **                    CALL  $PV2D
  630.  068B    **                    CALL  $PV4
  631.  0690   086C    LOCATE 12,1: PRINT SPACE$(80)
  632.  0690    **                    INT   3
  633.  0691    **                    MOV   BX,000CH
  634.  0694    **                    CALL  $LO0
  635.  0699    **                    MOV   BX,0001H
  636.  069C    **                    CALL  $LO2
  637.  06A1    **                    INT   3
  638.  06A2    **                    CALL  $PR0A
  639.  06A7    **                    MOV   BX,0050H
  640.  06AA    **                    CALL  $SP$
  641.  06AF    **                    CALL  $PV2D
  642.  06B4    **                    CALL  $PV4
  643.  06B9   086C    LOCATE 12,10: PRINT "Bytes per sector:      ";BYTES%
  644.  06B9    **                    INT   3
  645.  06BA    **                    MOV   BX,000CH
  646.  06BD    **                    CALL  $LO0
  647.  06C2    **                    MOV   BX,000AH
  648.  06C5    **                    CALL  $LO2
  649.  06CA    **                    INT   3
  650.                                                                        PAGE  12
  651.                                                                        10-13-86
  652.                                                                        13:33:05
  653. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  654.  
  655.  06CB    **                    CALL  $PR0A
  656.  06D0    **                    MOV   BX,OFFSET <const>
  657.  06D3    **                    CALL  $PV1D
  658.  06D8    **                    MOV   BX,BYTES%
  659.  06DC    **                    CALL  $PV2C
  660.  06E1    **                    CALL  $PV4
  661.  06E6   086C    LOCATE 13,10: PRINT "Sectors per cluster:   ";SECTORS%
  662.  06E6    **                    INT   3
  663.  06E7    **                    MOV   BX,000DH
  664.  06EA    **                    CALL  $LO0
  665.  06EF    **                    MOV   BX,000AH
  666.  06F2    **                    CALL  $LO2
  667.  06F7    **                    INT   3
  668.  06F8    **                    CALL  $PR0A
  669.  06FD    **                    MOV   BX,OFFSET <const>
  670.  0700    **                    CALL  $PV1D
  671.  0705    **                    MOV   BX,SECTORS%
  672.  0709    **                    CALL  $PV2C
  673.  070E    **                    CALL  $PV4
  674.  0713   086C    LOCATE 14,10: PRINT "Available clusters:    ";CLUSTERS%;
  675.  0713    **                    INT   3
  676.  0714    **                    MOV   BX,000EH
  677.  0717    **                    CALL  $LO0
  678.  071C    **                    MOV   BX,000AH
  679.  071F    **                    CALL  $LO2
  680.  0724    **                    INT   3
  681.  0725    **                    CALL  $PR0A
  682.  072A    **                    MOV   BX,OFFSET <const>
  683.  072D    **                    CALL  $PV1D
  684.  0732    **                    MOV   BX,CLUSTERS%
  685.  0736    **                    CALL  $PV1C
  686.  073B    **                    CALL  $PV4
  687.  0740   086C                  PRINT "      Total sectors: ";SECTORS%*CLUSTERS%
  688.  0740    **                    INT   3
  689.  0741    **                    CALL  $PR0A
  690.  0746    **                    MOV   BX,OFFSET <const>
  691.  0749    **                    CALL  $PV1D
  692.  074E    **                    MOV   AX,CLUSTERS%
  693.  0751    **                    IMUL  SECTORS%
  694.  0755    **                    INTO  
  695.  0756    **                    XCHG  AX,BX
  696.  0757    **                    CALL  $PV2C
  697.  075C    **                    CALL  $PV4
  698.  0761   086C    SECTORS = SECTORS%: BYTES = BYTES%: CLUSTERS = CLUSTERS%
  699.  0761    **                    INT   3
  700.  0762    **                    MOV   BX,SECTORS%
  701.  0766    **                    CALL  $CISA
  702.  076B    **                    MOV   DI,OFFSET SECTORS!
  703.  076E    **                    CALL  $FASC
  704.  0773    **                    INT   3
  705.  0774    **                    MOV   BX,BYTES%
  706.  0778    **                    CALL  $CISA
  707.  077D    **                    MOV   DI,OFFSET BYTES!
  708.  0780    **                    CALL  $FASC
  709.                                                                        PAGE  13
  710.                                                                        10-13-86
  711.                                                                        13:33:05
  712. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  713.  
  714.  0785    **                    INT   3
  715.  0786    **                    MOV   BX,CLUSTERS%
  716.  078A    **                    CALL  $CISA
  717.  078F    **                    MOV   DI,OFFSET CLUSTERS!
  718.  0792    **                    CALL  $FASC
  719.  0797   0878    
  720.  0797   0878    RES = SECTORS * BYTES * CLUSTERS / 1000
  721.  0797    **                    INT   3
  722.  0798    **                    MOV   DI,OFFSET BYTES!
  723.  079B    **                    MOV   SI,OFFSET SECTORS!
  724.  079E    **                    CALL  $FMUA
  725.  07A3    **                    MOV   DI,OFFSET CLUSTERS!
  726.  07A6    **                    CALL  $FMUC
  727.  07AB    **                    MOV   DI,OFFSET <const>
  728.  07AE    **                    CALL  $FDVC
  729.  07B3    **                    MOV   DI,OFFSET RES!
  730.  07B6    **                    CALL  $FASC
  731.  07BB   087C    LOCATE 16,10: PRINT "There are ";
  732.  07BB    **                    INT   3
  733.  07BC    **                    MOV   BX,0010H
  734.  07BF    **                    CALL  $LO0
  735.  07C4    **                    MOV   BX,000AH
  736.  07C7    **                    CALL  $LO2
  737.  07CC    **                    INT   3
  738.  07CD    **                    CALL  $PR0A
  739.  07D2    **                    MOV   BX,OFFSET <const>
  740.  07D5    **                    CALL  $PV1D
  741.  07DA    **                    CALL  $PV4
  742.  07DF   087C                  PRINT USING "####,.###"; RES;
  743.  07DF    **                    INT   3
  744.  07E0    **                    MOV   BX,OFFSET <const>
  745.  07E3    **                    CALL  $PR0B
  746.  07E8    **                    MOV   BX,OFFSET RES!
  747.  07EB    **                    CALL  $PV1A
  748.  07F0    **                    CALL  $PV4
  749.  07F5   087C                  PRINT " KBytes  ready to be filled with ASCII  ";
  750.  07F5    **                    INT   3
  751.  07F6    **                    CALL  $PR0A
  752.  07FB    **                    MOV   BX,OFFSET <const>
  753.  07FE    **                    CALL  $PV1D
  754.  0803    **                    CALL  $PV4
  755.  0808   087C    IF DFILLER% < 32 THEN PRINT "CTRL ";CHR$(DFILLER%+64) ELSE PRIN
  756.                 T CHR$(DFILLER%)
  757.  0808    **                    INT   3
  758.  0809    **                    CMP   WORD PTR DFILLER%,20H
  759.  080E    **                    JL    $+03H
  760.  0810    **                    JMP   I00019
  761.  0813    **                    INT   3
  762.  0814    **                    CALL  $PR0A
  763.  0819    **                    MOV   BX,OFFSET <const>
  764.  081C    **                    CALL  $PV1D
  765.  0821    **                    MOV   BX,DFILLER%
  766.  0825    **                    ADD   BX,40H
  767.  0828    **                    INTO  
  768.                                                                        PAGE  14
  769.                                                                        10-13-86
  770.                                                                        13:33:05
  771. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  772.  
  773.  0829    **                    CALL  $CHR
  774.  082E    **                    CALL  $PV2D
  775.  0833    **                    CALL  $PV4
  776.  0838    **                    JMP   I00020
  777.  083B    **            I00019: INT   3
  778.  083C    **                    CALL  $PR0A
  779.  0841    **                    MOV   BX,DFILLER%
  780.  0845    **                    CALL  $CHR
  781.  084A    **                    CALL  $PV2D
  782.  084F    **                    CALL  $PV4
  783.  0854   087C    
  784.  0854   087C    RECORDS% = INT(CLUSTERS * SECTORS)
  785.  0854    **            I00020: INT   3
  786.  0855    **                    MOV   DI,OFFSET SECTORS!
  787.  0858    **                    MOV   SI,OFFSET CLUSTERS!
  788.  085B    **                    CALL  $FMUA
  789.  0860    **                    MOV   BX,OFFSET $AC!
  790.  0863    **                    CALL  $INT
  791.  0868    **                    CALL  $CINC
  792.  086D    **                    XCHG  AX,BX
  793.  086E    **                    MOV   RECORDS%,AX
  794.  0871   087E    LOCATE 18,10: PRINT "How many sectors do you want to write, max
  795.                 . ";RECORDS%
  796.  0871    **                    INT   3
  797.  0872    **                    MOV   BX,0012H
  798.  0875    **                    CALL  $LO0
  799.  087A    **                    MOV   BX,000AH
  800.  087D    **                    CALL  $LO2
  801.  0882    **                    INT   3
  802.  0883    **                    CALL  $PR0A
  803.  0888    **                    MOV   BX,OFFSET <const>
  804.  088B    **                    CALL  $PV1D
  805.  0890    **                    MOV   BX,RECORDS%
  806.  0894    **                    CALL  $PV2C
  807.  0899    **                    CALL  $PV4
  808.  089E   087E    LOCATE 19,10: PRINT "(RETURN for default,  0 to exit program)"
  809.  089E    **                    INT   3
  810.  089F    **                    MOV   BX,0013H
  811.  08A2    **                    CALL  $LO0
  812.  08A7    **                    MOV   BX,000AH
  813.  08AA    **                    CALL  $LO2
  814.  08AF    **                    INT   3
  815.  08B0    **                    CALL  $PR0A
  816.  08B5    **                    MOV   BX,OFFSET <const>
  817.  08B8    **                    CALL  $PV2D
  818.  08BD    **                    CALL  $PV4
  819.  08C2   087E    LOCATE 18,55: INPUT "",RECMIN$
  820.  08C2    **                    INT   3
  821.  08C3    **                    MOV   BX,0012H
  822.  08C6    **                    CALL  $LO0
  823.  08CB    **                    MOV   BX,0037H
  824.  08CE    **                    CALL  $LO2
  825.  08D3    **                    INT   3
  826.  08D4    **                    MOV   BX,OFFSET <const>
  827.                                                                        PAGE  15
  828.                                                                        10-13-86
  829.                                                                        13:33:05
  830. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  831.  
  832.  08D7    **                    CALL  $IN0A
  833.  08DC    **                    DB    02H
  834.  08DD    **                    CALL  $IPUA
  835.  08E2    **                    DB    01H
  836.  08E3    **                    DB    04H
  837.  08E4    **                    MOV   BX,OFFSET RECMIN$
  838.  08E7    **                    CALL  $IPUB
  839.  08EC   0882    LOCATE 18,55: PRINT SPACE$(6)
  840.  08EC    **                    INT   3
  841.  08ED    **                    MOV   BX,0012H
  842.  08F0    **                    CALL  $LO0
  843.  08F5    **                    MOV   BX,0037H
  844.  08F8    **                    CALL  $LO2
  845.  08FD    **                    INT   3
  846.  08FE    **                    CALL  $PR0A
  847.  0903    **                    MOV   BX,0006H
  848.  0906    **                    CALL  $SP$
  849.  090B    **                    CALL  $PV2D
  850.  0910    **                    CALL  $PV4
  851.  0915   0882    LOCATE 18,55: PRINT RECMIN$
  852.  0915    **                    INT   3
  853.  0916    **                    MOV   BX,0012H
  854.  0919    **                    CALL  $LO0
  855.  091E    **                    MOV   BX,0037H
  856.  0921    **                    CALL  $LO2
  857.  0926    **                    INT   3
  858.  0927    **                    CALL  $PR0A
  859.  092C    **                    MOV   BX,OFFSET RECMIN$
  860.  092F    **                    CALL  $PV2D
  861.  0934    **                    CALL  $PV4
  862.  0939   0882    
  863.  0939   0882    CHECKENTRY:
  864.  0939    **                    INT   3
  865.  093A    **            I00021: INT   3
  866.  093B    **                    CALL  $LINA
  867.  0940   0882    RECMIN% = VAL(RECMIN$)
  868.  0940    **                    INT   3
  869.  0941    **                    MOV   BX,OFFSET RECMIN$
  870.  0944    **                    CALL  $VAL
  871.  0949    **                    CALL  $CIND
  872.  094E    **                    XCHG  AX,BX
  873.  094F    **                    MOV   RECMIN%,AX
  874.  0952   0884    IF RECMIN$ = "" THEN RECMIN% = RECORDS%
  875.  0952    **                    INT   3
  876.  0953    **                    MOV   BX,OFFSET <const>
  877.  0956    **                    MOV   AX,OFFSET RECMIN$
  878.  0959    **                    CALL  $SCMA
  879.  095E    **                    JE    $+03H
  880.  0960    **                    JMP   I00022
  881.  0963    **                    INT   3
  882.  0964    **                    MOV   AX,RECORDS%
  883.  0967    **                    MOV   RECMIN%,AX
  884.  096A   0884    IF RECMIN% < 1 THEN GOTO PROGEXIT
  885.  096A    **            I00022: INT   3
  886.                                                                        PAGE  16
  887.                                                                        10-13-86
  888.                                                                        13:33:05
  889. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  890.  
  891.  096B    **                    CMP   WORD PTR RECMIN%,01H
  892.  0970    **                    JL    $+03H
  893.  0972    **                    JMP   I00023
  894.  0975    **                    INT   3
  895.  0976    **                    JMP   I00024
  896.  0979   0884    IF RECMIN% > RECORDS% THEN GOTO REFUSE
  897.  0979    **            I00023: INT   3
  898.  097A    **                    MOV   AX,RECORDS%
  899.  097D    **                    CMP   AX,RECMIN%
  900.  0981    **                    JL    $+03H
  901.  0983    **                    JMP   I00025
  902.  0986    **                    INT   3
  903.  0987    **                    JMP   I00026
  904.  098A   0884    GOTO ACCEPT
  905.  098A    **            I00025: INT   3
  906.  098B    **                    JMP   I00027
  907.  098E   0884    REFUSE:
  908.  098E    **                    INT   3
  909.  098F    **            I00026: INT   3
  910.  0990    **                    CALL  $LINA
  911.  0995   0884    LOCATE 18,10: PRINT "You are only allowed to write a maximum of
  912.                   ";RECORDS%;" sectors"
  913.  0995    **                    INT   3
  914.  0996    **                    MOV   BX,0012H
  915.  0999    **                    CALL  $LO0
  916.  099E    **                    MOV   BX,000AH
  917.  09A1    **                    CALL  $LO2
  918.  09A6    **                    INT   3
  919.  09A7    **                    CALL  $PR0A
  920.  09AC    **                    MOV   BX,OFFSET <const>
  921.  09AF    **                    CALL  $PV1D
  922.  09B4    **                    MOV   BX,RECORDS%
  923.  09B8    **                    CALL  $PV1C
  924.  09BD    **                    MOV   BX,OFFSET <const>
  925.  09C0    **                    CALL  $PV2D
  926.  09C5    **                    CALL  $PV4
  927.  09CA   0884    LOCATE 19,10: PRINT "Please enter again,  0 to exit program   "
  928.  09CA    **                    INT   3
  929.  09CB    **                    MOV   BX,0013H
  930.  09CE    **                    CALL  $LO0
  931.  09D3    **                    MOV   BX,000AH
  932.  09D6    **                    CALL  $LO2
  933.  09DB    **                    INT   3
  934.  09DC    **                    CALL  $PR0A
  935.  09E1    **                    MOV   BX,OFFSET <const>
  936.  09E4    **                    CALL  $PV2D
  937.  09E9    **                    CALL  $PV4
  938.  09EE   0884    LOCATE 18,55: INPUT "",RECMIN$
  939.  09EE    **                    INT   3
  940.  09EF    **                    MOV   BX,0012H
  941.  09F2    **                    CALL  $LO0
  942.  09F7    **                    MOV   BX,0037H
  943.  09FA    **                    CALL  $LO2
  944.  09FF    **                    INT   3
  945.                                                                        PAGE  17
  946.                                                                        10-13-86
  947.                                                                        13:33:05
  948. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  949.  
  950.  0A00    **                    MOV   BX,OFFSET <const>
  951.  0A03    **                    CALL  $IN0A
  952.  0A08    **                    DB    02H
  953.  0A09    **                    CALL  $IPUA
  954.  0A0E    **                    DB    01H
  955.  0A0F    **                    DB    04H
  956.  0A10    **                    MOV   BX,OFFSET RECMIN$
  957.  0A13    **                    CALL  $IPUB
  958.  0A18   0884    LOCATE 18,1: PRINT SPACE$(80)
  959.  0A18    **                    INT   3
  960.  0A19    **                    MOV   BX,0012H
  961.  0A1C    **                    CALL  $LO0
  962.  0A21    **                    MOV   BX,0001H
  963.  0A24    **                    CALL  $LO2
  964.  0A29    **                    INT   3
  965.  0A2A    **                    CALL  $PR0A
  966.  0A2F    **                    MOV   BX,0050H
  967.  0A32    **                    CALL  $SP$
  968.  0A37    **                    CALL  $PV2D
  969.  0A3C    **                    CALL  $PV4
  970.  0A41   0884    LOCATE 19,1: PRINT SPACE$(80)
  971.  0A41    **                    INT   3
  972.  0A42    **                    MOV   BX,0013H
  973.  0A45    **                    CALL  $LO0
  974.  0A4A    **                    MOV   BX,0001H
  975.  0A4D    **                    CALL  $LO2
  976.  0A52    **                    INT   3
  977.  0A53    **                    CALL  $PR0A
  978.  0A58    **                    MOV   BX,0050H
  979.  0A5B    **                    CALL  $SP$
  980.  0A60    **                    CALL  $PV2D
  981.  0A65    **                    CALL  $PV4
  982.  0A6A   0884    GOTO CHECKENTRY:
  983.  0A6A    **                    INT   3
  984.  0A6B    **                    JMP   I00021
  985.  0A6E   0884    ACCEPT:
  986.  0A6E    **                    INT   3
  987.  0A6F    **            I00027: INT   3
  988.  0A70    **                    CALL  $LINA
  989.  0A75   0884    RECORDS% = RECMIN%
  990.  0A75    **                    INT   3
  991.  0A76    **                    MOV   AX,RECMIN%
  992.  0A79    **                    MOV   RECORDS%,AX
  993.  0A7C   0884    LOCATE 18,1: PRINT SPACE$(80)
  994.  0A7C    **                    INT   3
  995.  0A7D    **                    MOV   BX,0012H
  996.  0A80    **                    CALL  $LO0
  997.  0A85    **                    MOV   BX,0001H
  998.  0A88    **                    CALL  $LO2
  999.  0A8D    **                    INT   3
  1000.  0A8E    **                    CALL  $PR0A
  1001.  0A93    **                    MOV   BX,0050H
  1002.  0A96    **                    CALL  $SP$
  1003.  0A9B    **                    CALL  $PV2D
  1004.                                                                        PAGE  18
  1005.                                                                        10-13-86
  1006.                                                                        13:33:05
  1007. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  1008.  
  1009.  0AA0    **                    CALL  $PV4
  1010.  0AA5   0884    LOCATE 19,1: PRINT SPACE$(80)
  1011.  0AA5    **                    INT   3
  1012.  0AA6    **                    MOV   BX,0013H
  1013.  0AA9    **                    CALL  $LO0
  1014.  0AAE    **                    MOV   BX,0001H
  1015.  0AB1    **                    CALL  $LO2
  1016.  0AB6    **                    INT   3
  1017.  0AB7    **                    CALL  $PR0A
  1018.  0ABC    **                    MOV   BX,0050H
  1019.  0ABF    **                    CALL  $SP$
  1020.  0AC4    **                    CALL  $PV2D
  1021.  0AC9    **                    CALL  $PV4
  1022.  0ACE   0884    LOCATE 18,10: PRINT "writing ";RECORDS%;" sectors, please wait 
  1023.                 ... "
  1024.  0ACE    **                    INT   3
  1025.  0ACF    **                    MOV   BX,0012H
  1026.  0AD2    **                    CALL  $LO0
  1027.  0AD7    **                    MOV   BX,000AH
  1028.  0ADA    **                    CALL  $LO2
  1029.  0ADF    **                    INT   3
  1030.  0AE0    **                    CALL  $PR0A
  1031.  0AE5    **                    MOV   BX,OFFSET <const>
  1032.  0AE8    **                    CALL  $PV1D
  1033.  0AED    **                    MOV   BX,RECORDS%
  1034.  0AF1    **                    CALL  $PV1C
  1035.  0AF6    **                    MOV   BX,OFFSET <const>
  1036.  0AF9    **                    CALL  $PV2D
  1037.  0AFE    **                    CALL  $PV4
  1038.  0B03   0884    
  1039.  0B03   0884    LOCATE 20,10: PRINT "File named  ";CHR$(DRIVE%+64)+":";DFNAME$
  1040.  0B03    **                    INT   3
  1041.  0B04    **                    MOV   BX,0014H
  1042.  0B07    **                    CALL  $LO0
  1043.  0B0C    **                    MOV   BX,000AH
  1044.  0B0F    **                    CALL  $LO2
  1045.  0B14    **                    INT   3
  1046.  0B15    **                    CALL  $PR0A
  1047.  0B1A    **                    MOV   BX,OFFSET <const>
  1048.  0B1D    **                    CALL  $PV1D
  1049.  0B22    **                    MOV   BX,DRIVE%
  1050.  0B26    **                    ADD   BX,40H
  1051.  0B29    **                    INTO  
  1052.  0B2A    **                    CALL  $CHR
  1053.  0B2F    **                    XCHG  AX,BX
  1054.  0B30    **                    MOV   BX,OFFSET <const>
  1055.  0B33    **                    CALL  $AD$A
  1056.  0B38    **                    CALL  $PV1D
  1057.  0B3D    **                    MOV   BX,OFFSET DFNAME$
  1058.  0B40    **                    CALL  $PV2D
  1059.  0B45    **                    CALL  $PV4
  1060.  0B4A   0884    DFNAME$ = CHR$(DRIVE%+64)+":"+DFNAME$+CHR$(0)+"$"
  1061.  0B4A    **                    INT   3
  1062.  0B4B    **                    MOV   BX,DRIVE%
  1063.                                                                        PAGE  19
  1064.                                                                        10-13-86
  1065.                                                                        13:33:05
  1066. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  1067.  
  1068.  0B4F    **                    ADD   BX,40H
  1069.  0B52    **                    INTO  
  1070.  0B53    **                    CALL  $CHR
  1071.  0B58    **                    XCHG  AX,BX
  1072.  0B59    **                    MOV   BX,OFFSET <const>
  1073.  0B5C    **                    CALL  $AD$A
  1074.  0B61    **                    XCHG  AX,BX
  1075.  0B62    **                    MOV   BX,OFFSET DFNAME$
  1076.  0B65    **                    MOV   DX,BX
  1077.  0B67    **                    CALL  $AD$A
  1078.  0B6C    **                    MOV   CX,BX
  1079.  0B6E    **                    XOR   BX,BX
  1080.  0B70    **                    CALL  $CHR
  1081.  0B75    **                    XCHG  AX,CX
  1082.  0B76    **                    CALL  $AD$A
  1083.  0B7B    **                    XCHG  AX,BX
  1084.  0B7C    **                    MOV   BX,OFFSET <const>
  1085.  0B7F    **                    CALL  $AD$A
  1086.  0B84    **                    CALL  $SASA
  1087.  0B89   0884    
  1088.  0B89   0884    CALL DFILL(DFNAME$,BLOCK$,RECORDS%)
  1089.  0B89    **                    INT   3
  1090.  0B8A    **                    MOV   AX,OFFSET DFNAME$
  1091.  0B8D    **                    PUSH  AX
  1092.  0B8E    **                    MOV   AX,OFFSET BLOCK$
  1093.  0B91    **                    PUSH  AX
  1094.  0B92    **                    MOV   AX,OFFSET RECORDS%
  1095.  0B95    **                    PUSH  AX
  1096.  0B96    **                    CALL  $ASP
  1097.  0B9B    **                    CALL  DFILL
  1098.  0BA0    **                    PUSH  DS
  1099.  0BA1    **                    POP   ES
  1100.  0BA2    **                    CLD   
  1101.  0BA3   0884    
  1102.  0BA3   0884    PROGEXIT:
  1103.  0BA3    **                    INT   3
  1104.  0BA4    **            I00024: INT   3
  1105.  0BA5    **                    CALL  $LINA
  1106.  0BAA   0884    IF RECMIN% < 1 THEN RESP$ = "         PROGRAM ABORTED" ELSE RES
  1107.                 P$ = "DONE"
  1108.  0BAA    **                    INT   3
  1109.  0BAB    **                    CMP   WORD PTR RECMIN%,01H
  1110.  0BB0    **                    JL    $+03H
  1111.  0BB2    **                    JMP   I00028
  1112.  0BB5    **                    INT   3
  1113.  0BB6    **                    MOV   BX,OFFSET <const>
  1114.  0BB9    **                    MOV   DX,OFFSET RESP$
  1115.  0BBC    **                    CALL  $SASA
  1116.  0BC1    **                    JMP   I00029
  1117.  0BC4    **            I00028: INT   3
  1118.  0BC5    **                    MOV   BX,OFFSET <const>
  1119.  0BC8    **                    MOV   DX,OFFSET RESP$
  1120.  0BCB    **                    CALL  $SASA
  1121.  0BD0   0888    LOCATE 21,1: PRINT SPACE$(80)
  1122.                                                                        PAGE  20
  1123.                                                                        10-13-86
  1124.                                                                        13:33:05
  1125. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  1126.  
  1127.  0BD0    **            I00029: INT   3
  1128.  0BD1    **                    MOV   BX,0015H
  1129.  0BD4    **                    CALL  $LO0
  1130.  0BD9    **                    MOV   BX,0001H
  1131.  0BDC    **                    CALL  $LO2
  1132.  0BE1    **                    INT   3
  1133.  0BE2    **                    CALL  $PR0A
  1134.  0BE7    **                    MOV   BX,0050H
  1135.  0BEA    **                    CALL  $SP$
  1136.  0BEF    **                    CALL  $PV2D
  1137.  0BF4    **                    CALL  $PV4
  1138.  0BF9   0888    LOCATE 21,67: PRINT RESP$
  1139.  0BF9    **                    INT   3
  1140.  0BFA    **                    MOV   BX,0015H
  1141.  0BFD    **                    CALL  $LO0
  1142.  0C02    **                    MOV   BX,0043H
  1143.  0C05    **                    CALL  $LO2
  1144.  0C0A    **                    INT   3
  1145.  0C0B    **                    CALL  $PR0A
  1146.  0C10    **                    MOV   BX,OFFSET RESP$
  1147.  0C13    **                    CALL  $PV2D
  1148.  0C18    **                    CALL  $PV4
  1149.  0C1D   0888    LOCATE 22,10: INPUT "Do again ? (Y/N): ",ANSWER$
  1150.  0C1D    **                    INT   3
  1151.  0C1E    **                    MOV   BX,0016H
  1152.  0C21    **                    CALL  $LO0
  1153.  0C26    **                    MOV   BX,000AH
  1154.  0C29    **                    CALL  $LO2
  1155.  0C2E    **                    INT   3
  1156.  0C2F    **                    MOV   BX,OFFSET <const>
  1157.  0C32    **                    CALL  $IN0A
  1158.  0C37    **                    DB    02H
  1159.  0C38    **                    CALL  $IPUA
  1160.  0C3D    **                    DB    01H
  1161.  0C3E    **                    DB    04H
  1162.  0C3F    **                    MOV   BX,OFFSET ANSWER$
  1163.  0C42    **                    CALL  $IPUB
  1164.  0C47   088C    A$ = LEFT$(ANSWER$,1)
  1165.  0C47    **                    INT   3
  1166.  0C48    **                    MOV   BX,OFFSET ANSWER$
  1167.  0C4B    **                    MOV   DX,0001H
  1168.  0C4E    **                    CALL  $LEF
  1169.  0C53    **                    MOV   DX,OFFSET A$
  1170.  0C56    **                    CALL  $SASA
  1171.  0C5B   0890    IF A$ = "y" OR A$ = "Y" THEN LOCATE 16,16: PRINT "were": GOTO S
  1172.                 TART
  1173.  0C5B    **                    INT   3
  1174.  0C5C    **                    MOV   BX,OFFSET <const>
  1175.  0C5F    **                    MOV   AX,OFFSET A$
  1176.  0C62    **                    CALL  $SCMA
  1177.  0C67    **                    MOV   DX,0000H
  1178.  0C6A    **                    JNE   $+01H
  1179.  0C6C    **                    DEC   DX
  1180.  0C6D    **                    MOV   BX,OFFSET <const>
  1181.                                                                        PAGE  21
  1182.                                                                        10-13-86
  1183.                                                                        13:33:05
  1184. Offset  Data    Source Line          IBM Personal Computer BASIC Compiler V2.00
  1185.  
  1186.  0C70    **                    CALL  $SCMA
  1187.  0C75    **                    MOV   CX,0000H
  1188.  0C78    **                    JNE   $+01H
  1189.  0C7A    **                    DEC   CX
  1190.  0C7B    **                    OR    CX,DX
  1191.  0C7D    **                    AND   CX,CX
  1192.  0C7F    **                    JNE   $+03H
  1193.  0C81    **                    JMP   I00030
  1194.  0C84    **                    INT   3
  1195.  0C85    **                    MOV   BX,0010H
  1196.  0C88    **                    CALL  $LO0
  1197.  0C8D    **                    CALL  $LO2
  1198.  0C92    **                    INT   3
  1199.  0C93    **                    CALL  $PR0A
  1200.  0C98    **                    MOV   BX,OFFSET <const>
  1201.  0C9B    **                    CALL  $PV2D
  1202.  0CA0    **                    CALL  $PV4
  1203.  0CA5    **                    INT   3
  1204.  0CA6    **                    JMP   I00002
  1205.  0CA9   0890    
  1206.  0CA9   0890    SYSTEM
  1207.  0CA9    **            I00030: INT   3
  1208.  0CAA    **                    CALL  $END
  1209.  0CAF   0890    
  1210.  0CAF    **                    CALL  $ENP
  1211.  0CB6   0890    
  1212.  
  1213. 50424 Bytes Available
  1214. 47950 Bytes Free
  1215.  
  1216.     0 Warning Error(s)
  1217.     0 Severe  Error(s)
  1218.  
  1219.  
  1220.