home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s235 / 1.ddi / NBNF.ASM < prev    next >
Encoding:
Assembly Source File  |  1988-09-06  |  5.8 KB  |  486 lines

  1. ;    THIS IS THE FILE OF NBNF.ASM
  2. ;
  3. ;
  4. ;
  5. NBINTOF:MOV    A,R7        ;THIS IS  SUBROUTING  5-1
  6.     MOV    B,#08H
  7.     MUL    AB
  8.     DEC    A
  9.     INC    R0
  10.     MOV    @R0,A
  11.     LCALL    NBNORM
  12.     RET
  13. ;
  14. ;
  15. ;
  16. ;
  17. NBNORM: DEC    R0        ;THIS IS  SUBROUTING  5-2
  18.     MOV    A,@R0
  19.     JNB    ACC.7,NOR0
  20.     JB    ACC.6,NOR1
  21. NOR2:    INC    R0
  22.     RET
  23. NOR0:    JB    ACC.6,NOR2
  24.     INC    R0
  25.     LCALL    NORA
  26.     LCALL    NORB
  27. NOR4:    JB    ACC.6,NOR2
  28.     INC    R0
  29.     LCALL    NORB
  30.     DJNZ    R2,NOR4
  31.     LJMP    NOR2
  32. NOR1:    LCALL    NORA
  33. NOR6:    INC    R0
  34.     LCALL    NORB
  35.     DJNZ    R2,NOR5
  36.     LJMP    NOR2
  37. NOR5:    JB    ACC.6,NOR6
  38.     LJMP    NOR2
  39. NORA:    MOV    A,R7
  40.     MOV    B,#08H
  41.     MUL    AB
  42.     DEC    A
  43.     MOV    R2,A
  44.     RET
  45. NORB:    MOV    A,R7
  46.     MOV    R6,A
  47.     MOV    A,R0
  48.     CLR    C
  49.     SUBB    A,R7
  50.     MOV    R0,A
  51.     CLR    C
  52. NORB0:    MOV    A,@R0
  53.     RLC    A
  54.     MOV    @R0,A
  55.     INC    R0
  56.     DJNZ    R6,NORB0
  57.     DEC    @R0
  58.     DEC    R0
  59.     MOV    A,@R0
  60.     RET
  61. ;
  62. ;                                    ;
  63. NBNET:    MOV    A,R7        ;THIS IS  SUBROUTING  5-3    SUBCG
  64.     MOV    R6,A
  65.     MOV    A,R0
  66.     CLR    C
  67.     SUBB    A,R7
  68.     MOV    R0,A
  69.     SETB    C
  70. NNT1:    MOV    A,@R0
  71.     CPL    A
  72.     ADDC    A,#00H
  73.     MOV    @R0,A
  74.     INC    R0
  75.     DJNZ    R6,NNT1
  76.     RET
  77. ;
  78. ;
  79. ;
  80. ;
  81. ;
  82. ;
  83. ;
  84. NBFSDT: MOV    R2,#00H        ;THIS IS  SUBROUTING  5-4 SUBEG
  85. NST1:    INC    @R0
  86.     DEC    R0
  87.     MOV    A,R7
  88.     MOV    R6,A
  89.     MOV    A,@R0
  90.     MOV    C,ACC.7
  91. NST0:    RRC    A
  92.     MOV    @R0,A
  93.     DEC    R0
  94.     MOV    A,@R0
  95.     DJNZ    R6,NST0
  96.     MOV    A,R2
  97.     RRC    A
  98.     MOV    R2,A
  99.     MOV    A,R0
  100.     ADD    A,R7
  101.     MOV    R0,A
  102.     INC    R0
  103.     DJNZ    R3,NST1
  104.     MOV    A,R2
  105.     JNB    ACC.7,NSTR
  106.     CLR    C
  107.     MOV    A,R0
  108.     SUBB    A,R7
  109.     MOV    R0,A
  110.     MOV    A,R7
  111.     MOV    R6,A
  112.     SETB    C
  113. NST5:    MOV    A,@R0
  114.     ADDC    A, #00H
  115.     MOV    @R0,A
  116.     INC    R0
  117.     DJNZ    R6,NST5
  118.  NSTR:    RET
  119. ;
  120. ;
  121. ;
  122. NBFADD: MOV    A,@R1            ;THIS IS  SUBROUTING  5-5  SUBFG
  123.     CPL    A
  124.     INC    A
  125.     MOV    R3,A
  126.     MOV    A,@R0
  127.     ADD    A,R3
  128.     MOV    R3,A
  129.     JNB    ACC.7,NAD2
  130.     CPL    A
  131.     INC    A
  132.     MOV    R3,A
  133.     LCALL    NBFSDT
  134.     LJMP    NAD1
  135. NAD2:    JZ    NAD1
  136.     MOV    A,R0
  137.     XCH    A,R1
  138.     XCH    A,R0
  139.     LCALL    NBFSDT
  140.     MOV    A,R0
  141.     XCH    A,R1
  142.     XCH    A,R0
  143. NAD1:    MOV    A,R7
  144.     XCH    A,R6
  145.     CLR    C
  146.     MOV    A,R0
  147.     SUBB    A,R7
  148.     MOV    R0,A
  149.     MOV    A,R1
  150.     SUBB    A,R7
  151.     MOV    R1,A
  152.     CLR    C
  153. NAD8:    MOV    A,@R0
  154.     ADDC    A,@R1
  155.     MOV    @R0,A
  156.     INC    R0
  157.     INC    R1
  158.     DJNZ    R6,NAD8
  159.     JNB    PSW.2,NAD3
  160.     INC    @R0
  161.     MOV    A,R7
  162.     XCH    A,R6
  163.     DEC    R0
  164.     MOV    A,@R0
  165.     MOV    C,ACC.7
  166.     CPL    C
  167. NAD4:    RRC    A
  168.     MOV    @R0,A
  169.     DEC    R0
  170.     MOV    A,@R0
  171.     DJNZ    R6,NAD4
  172.     MOV    A,R7
  173.     ADD    A,R0
  174.     MOV    R0,A
  175.     INC    R0
  176. NAD3:    LCALL    NBNORM
  177.     RET
  178. ;
  179. ;
  180. ;
  181. NBFSUB: LCALL    NBNET           ;THIS IS  SUBROUTING  5-6  SUBGG
  182.     LJMP    NBFADD
  183. ;
  184. ;
  185. ;
  186. ;
  187. ;
  188. ;
  189. ;
  190. ;
  191. ;
  192. NBFMUL: MOV    A,@R0           ;THIS IS  SUBROUTING  5-7; SUBBH
  193.     ADD    A,@R1
  194.     INC    A
  195.     MOV    @R0,A
  196.     CLR    PSW.5
  197.     DEC    R0
  198.     MOV    A,@R0
  199.     JNB    ACC.7,FML0
  200.     CPL    PSW.5
  201.     INC    R0
  202.     LCALL    NBNET
  203.     LJMP    FML1
  204. FML0:    INC    R0
  205. FML1:    MOV    A,R0
  206.     XCH    A,R1
  207.     XCH    A,R0
  208.     DEC    R0
  209.     MOV    A,@R0
  210.     JNB    ACC.7,FML2
  211.     CPL    PSW.5
  212.     INC    R0
  213.     LCALL    NBNET
  214.     LJMP    FML3
  215.   FML2: INC    R0
  216.   FML3: MOV    A,R0
  217.     CLR    C
  218.     SUBB    A,R7
  219.     MOV    R3,A
  220.     MOV    A,R1
  221.     SUBB    A,R7
  222.     MOV    R2,A
  223.     SUBB    A,R7
  224.     MOV    R5,A
  225.     MOV    R0,A
  226.     MOV    A,R7
  227.     MOV    R6,A
  228.  FML4:    MOV    @R0,#00H
  229.     INC    R0
  230.     DJNZ    R6,FML4
  231.     MOV    A,R7
  232.     MOV    B,#08H
  233.     MUL    AB
  234.     INC    A
  235.     MOV    R4,A
  236.  FML8:    CLR    C
  237.     MOV    A,R5
  238.     MOV    R0,A
  239.     MOV    A,R7
  240.     RL    A
  241.     MOV    R6,A
  242.  FML5:    MOV    A,@R0
  243.     RLC    A
  244.     MOV    @R0,A
  245.     INC    R0
  246.     DJNZ    R6,FML5
  247.     JNC    FMLL
  248.     MOV    A,R5
  249.     MOV    R0,A
  250.     MOV    A,R3
  251.     MOV    R1,A
  252.     MOV    A,R7
  253.     MOV    R6,A
  254.     CLR    C
  255. FML6:    MOV    A ,@R0
  256.     ADDC    A,@R1
  257.     MOV    @R0,A
  258.     INC    R0
  259.     INC    R1
  260.     DJNZ    R6,FML6
  261.     MOV    A,R7
  262.     MOV    R6,A
  263. FML7:    MOV    A,@R0
  264.     ADDC    A,#00H
  265.     MOV    @R0,A
  266.     INC    R0
  267.     DJNZ    R6,FML7
  268. FMLL:    DJNZ    R4,FML8
  269.     MOV    A,R7
  270.     RL    A
  271.     MOV    B,#08H
  272.     MUL    AB
  273.     MOV    R4,A
  274. FMLB:    DEC    R0
  275.     MOV    A,@R0
  276.     JB    ACC.6,FML9
  277.     INC    R0
  278.     DEC    @R0
  279.     CLR    C
  280.     MOV    A,R5
  281.     MOV    R0,A
  282.     MOV    A,R7
  283.     RL    A
  284.     MOV    R6,A
  285. FMLA:  MOV     A,@R0
  286.     RLC    A
  287.     MOV    @R0,A
  288.     INC    R0
  289.     DJNZ    R6,FMLA
  290.     DJNZ    R4,FMLB
  291. FML9:    MOV    A,R2
  292.     DEC    A
  293.     MOV    R0,A
  294.     MOV    A,@R0
  295.     JNB    ACC.7,FMLK
  296.     INC    R0
  297.     MOV    A,R7
  298.     MOV    R6,A
  299.     SETB    C
  300. FMLP:    MOV    A,@R0
  301.     ADDC    A,#00H
  302.     MOV    @R0,A
  303.     INC    R0
  304.     DJNZ    R6,FMLP
  305. FMLK:    JNB    PSW.5,FMLR
  306.     MOV    A,R2
  307.     ADD    A,R7
  308.     MOV    R0,A
  309.     LCALL    NBNET
  310. FMLR:    RET
  311. ;
  312. ;
  313. ;
  314. ;
  315. ;
  316. NBFDIV: MOV    A,@R0         ;THIS IS  SUBROUTING  5-8  SUBAH
  317.     CLR    C
  318.     SUBB    A,@R1
  319.     MOV    R2,A
  320.     MOV    A,R7
  321.     MOV    B,#08H
  322.     MUL    AB
  323.     ADD    A,R2
  324.     DEC    A
  325.     MOV    @R0,A
  326.     CLR    PSW.5
  327.     DEC    R0
  328.     MOV    A,@R0
  329.     JNB    ACC.7,NDV0
  330.     CPL    PSW.5
  331.     INC    R0
  332.     LCALL    NBNET
  333.     LJMP    NDV1
  334. NDV0:    INC    R0
  335. NDV1:    MOV    A,R0
  336.     XCH    A,R1
  337.     XCH    A,R0
  338.     DEC    R0
  339.     MOV    A,@R0
  340.     JNB    ACC.7,NDV2
  341.     CPL    PSW.5
  342.     INC    R0
  343.     LCALL    NBNET
  344.     LJMP    NDV3
  345. NDV2:    INC    R0
  346. NDV3:    MOV    A,R0
  347.     MOV    R2,A
  348.     DEC    R0
  349.     MOV    A,R7
  350.     XCH    A,R6
  351. NDV4:    MOV    A,@R0
  352.     JNZ    NDV5
  353.     DEC    R0
  354.     DJNZ    R6,NDV4
  355.     SETB    C
  356.     RET
  357. NDV5:    CLR    C      ;R2:40 R3:50  R5:30
  358.     MOV    A,R2
  359.     SUBB    A,R7
  360.     MOV    R3,A
  361.     MOV    A,R1
  362.     SUBB    A,R7
  363.     SUBB    A,R7
  364.     MOV    R2,A
  365.     XCH    A,R0
  366.     MOV    A,R7
  367.     XCH    A,R6
  368. NDV6:    MOV    @R0,#00H  ; 0  >40,41
  369.     INC    R0
  370.     DJNZ    R6,NDV6
  371.     MOV    A,R5
  372.     MOV    R0,A
  373.     MOV    A,R7
  374.     MOV    R6,A
  375. NDV7:    MOV    @R0,#00H    ;0 > 31,30
  376.     INC    R0
  377.     DJNZ    R6,NDV7
  378.     MOV    A,R7
  379.     RL    A
  380.     MOV    B,#08H
  381.     MUL    AB
  382.     MOV    R4,A
  383.     INC    R4
  384.     CLR    C
  385. NDVE:    MOV    A,R2     ;RLC 43-40 31-30
  386.     MOV    R0,A
  387.     MOV    A,R7
  388.     RL    A
  389.     MOV    R6,A
  390. NDV8:    MOV    A,@R0
  391.     RLC    A
  392.     MOV    @R0,A
  393.     INC    R0
  394.     DJNZ    R6,NDV8
  395.     MOV    A,R5
  396.     MOV    R0,A
  397.     MOV    A,R7
  398.     MOV    R6,A
  399. NDV9:    MOV    A ,@R0
  400.     RLC     A
  401.     MOV    @R0,A
  402.     INC    R0
  403.     DJNZ    R6,NDV9
  404.     DJNZ    R4,NDVA
  405.     LJMP    NDVX
  406. NDVA:    MOV    A,R5
  407.     MOV    R0,A
  408.     MOV    A,R3
  409.     MOV    R1,A
  410.     MOV    A,R7
  411.     MOV    R6,A
  412.     CLR    C
  413. NDVB:    MOV    A,@R0
  414.     SUBB    A,@R1
  415.     MOV    @R0,A
  416.     INC    R0
  417.     INC    R1
  418.     DJNZ    R6,NDVB
  419.     JNC    NDVC
  420.     MOV    A,R5
  421.     MOV    R0,A
  422.     MOV    A,R3
  423.     MOV    R1,A
  424.     MOV    A,R7
  425.     MOV    R6,A
  426.     CLR    C
  427. NDVD:    MOV    A,@R0
  428.     ADDC    A,@R1
  429.     MOV    @R0,A
  430.     INC    R0
  431.     INC    R1
  432.     DJNZ    R6,NDVD
  433.     CLR    C
  434.     LJMP    NDVE
  435. NDVC:    SETB    C
  436.     LJMP    NDVE
  437. NDVX:    MOV    A,R7
  438.     RL    A
  439.     MOV    B,#08H
  440.     MUL    AB
  441.     MOV    R4,A
  442.     DEC    R4
  443. NDVX3:    MOV    A,R2
  444.     ADD    A,R7
  445.     ADD    A,R7
  446.     DEC    R0
  447.     MOV    R0,A
  448.     MOV    A,@R0
  449.     JB    ACC.6,NDVK
  450.     INC    R0
  451.     DEC    @R0
  452.     MOV    A,R2
  453.     MOV    R0,A
  454.     MOV    A,R7
  455.     RL    A
  456.     MOV    R6,A
  457.     CLR    C
  458. NDVX2:    MOV    A,@R0
  459.     RLC    A
  460.     MOV    @R0,A
  461.     INC    R0
  462.     DJNZ    R6,NDVX2
  463.     DJNZ    R4,NDVX3
  464. NDVK:    MOV    A,R0
  465.     CLR    C
  466.     SUBB    A,R7
  467.     MOV    R0,A
  468.     MOV    A,@R0
  469.     JNB    ACC.7,NDVX1
  470.     SETB    C
  471.     INC    R0
  472.     MOV    A,R7
  473.     MOV    R6,A
  474. NDVP:    MOV    A,@R0
  475.     ADDC    A,#00H
  476.     MOV    @R0,A
  477.     INC    R0
  478.     DJNZ    R6,NDVP
  479. NDVX1:    JNB    PSW.5,NDVX4
  480.     MOV    A,R2
  481.     ADD    A,R7
  482.     ADD    A,R7
  483.     MOV    R0,A
  484.     LCALL    NBNET
  485. NDVX4:    RET
  486.