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

  1. ;
  2. ;
  3. ;    THIS IS FILE OF TBF.ASM
  4. ;
  5. ;
  6. NORM:    MOV   A,@R0         ;THIS IS SUBROUTING 4-1
  7.     MOV   C,ACC.7
  8.     MOV   PSW.5,C
  9.     INC   R0
  10. NORM1:    MOV   A,@R0
  11.     INC   R0
  12.     JNZ   NORM3
  13.     MOV   A,@R0
  14.     JNZ   NORM4
  15.     DEC   R0
  16.     DEC   R0
  17.     MOV   A,#40H
  18. NORM2:    MOV   C,PSW.5
  19.     MOV   ACC.7,C
  20.     MOV   @R0,A
  21.     RET
  22. NORM3:    JB    ACC.7,NORM5
  23. NORM4:    CLR   C
  24.     MOV   A,@R0
  25.     RLC   A
  26.     MOV   @R0,A
  27.     DEC   R0
  28.     MOV   A,@R0
  29.     RLC   A
  30.     MOV   @R0,A
  31.     DEC   R0
  32.     DEC   @R0
  33.     MOV   A,@R0
  34.     INC   R0
  35.     ANL   A,#7FH
  36.     CJNE  A,#40H,NORM3
  37.     DEC   R0
  38.     SJMP  NORM2
  39. NORM5:    DEC   R0
  40.     DEC   R0
  41.     MOV   A,@R0
  42.     SJMP  NORM2
  43. ;
  44. ;
  45. ;
  46. ;
  47. ;
  48. FSDT:    JC    FS2        ;THIS IS SUBROUTING 4-2
  49.     MOV   C,39H
  50.     JB    PSW.5,FS1
  51.     MOV   A,R2
  52.     RRC   A
  53.     MOV   R2,A
  54.     MOV   A,R3
  55.     RRC   A
  56.     MOV   R3,A
  57.     INC   R6
  58.     RET
  59. FS1:    MOV   A,R4
  60.     RRC   A
  61.     MOV   R4,A
  62.     MOV   A,R5
  63.     RRC   A
  64.     MOV   R5,A
  65.     INC   R7
  66.     RET
  67. FS2:    MOV    A,R2
  68.     JNZ    FS4
  69.     CJNE  R3,#0,FS5
  70.     MOV   R6,#41H
  71. FS3:    RET
  72. FS4:    JB    ACC.7,FS3
  73. FS5:    MOV   C,PSW.5
  74.     MOV   A,R3
  75.     RLC   A
  76.     MOV   R3,A
  77.     MOV   A,R2
  78.     RLC   A
  79.     MOV   R2,A
  80.     CLR   PSW.5
  81.     DEC   R6
  82.     SJMP  FS2
  83. ;
  84. ;
  85. ;
  86. ;
  87. ;
  88. FMLD:    MOV   A,@R0          ;THIS IS SUBROUTING 4-3
  89.     MOV   R6,A
  90.     INC   R0
  91.     MOV   A,@R0
  92.     MOV   R2,A
  93.     INC   R0
  94.     MOV   A,@R0
  95.     MOV   R3,A
  96.     DEC   R0
  97.     DEC   R0
  98.     MOV   A,@R1
  99.     MOV   R7,A
  100.     INC   R1
  101.     MOV   A,@R1
  102.     MOV   R4,A
  103.     INC   R1
  104.     MOV   A,@R1
  105.     MOV   R5,A
  106.     DEC   R1
  107.     DEC   R1
  108.     RET
  109. ;
  110. ;
  111. ;
  112. ;
  113. ;
  114. FSTR:    MOV   A,R4        ;THIS IS SUBROUTING 4-4
  115.     MOV   @R1,A
  116.     INC   R1
  117.     MOV   A,R2
  118.     MOV   @R1,A
  119.     INC   R1
  120.     MOV   A,R3
  121.     MOV   @R1,A
  122.     DEC   R1
  123.     DEC   R1
  124.     RET
  125. ;
  126. ;
  127. ;
  128. ;
  129. ;
  130. ;
  131. FABP:    MOV   A,R6        ;THIS IS SUBROUTING 4-5
  132.     MOV   C,ACC.7
  133.     MOV   38H,C
  134.     XRL   A,R7
  135.     JNB   ACC.7,FA1
  136.     CPL   3AH
  137. FA1:    MOV   A,R6
  138.     MOV   C,ACC.6
  139.     MOV   ACC.7,C
  140.     MOV   R6,A
  141.     MOV   A,R7
  142.     MOV   C,ACC.6
  143.     MOV   ACC.7,C
  144.     MOV   R7,A
  145.     CLR   C
  146.     MOV   A,R6
  147.     SUBB  A,R7
  148.     JZ    FA2
  149.     CLR   PSW.5
  150.     CLR   39H
  151.     JB    ACC.7,FA5
  152.     CJNE  R4,#0,FA6
  153.     CJNE  R5,#0,FA6
  154. FA2:    JB    3AH,FA8
  155.     MOV   A,R3
  156.     ADD   A,R5
  157.     MOV   R3,A
  158.     MOV   A,R2
  159.     ADDC  A,R4
  160.     MOV   R2,A
  161.     JNC   FA4
  162.     SETB  39H
  163.     CLR   C
  164. FA3:    CLR   PSW.5
  165.     LCALL FSDT
  166. FA4:    CJNE  R2,#0,FAA
  167.     CJNE  R3,#0,FAA
  168.     MOV   R4,#41H
  169.     RET
  170. FAA:    MOV   A,R6
  171.     MOV   C,38H
  172.     MOV   ACC.7,C
  173.     XCH   A,R4
  174.     MOV   R6,A
  175.     RET
  176. FA5:    CJNE  R2,#0,FA7
  177.     CJNE  R3,#0,FA7
  178.     MOV   A,R7
  179.     MOV   R6,A
  180.     SJMP  FA2
  181. FA6:    CPL   PSW.5
  182. FA7:    CLR   C
  183.     LCALL FSDT
  184.     SJMP  FA1
  185. FA8:    MOV   A,R3
  186.     CLR   C
  187.     SUBB  A,R5
  188.     MOV   R3,A
  189.     MOV   A,R2
  190.     SUBB  A,R4
  191.     MOV   R2,A
  192.     JNC   FA9
  193.     CLR   A
  194.     CLR   C
  195.     SUBB  A,R3
  196.     MOV   R3,A
  197.     CLR   A
  198.     SUBB  A,R2
  199.     MOV   R2,A
  200.     CPL   38H
  201. FA9:    SETB  C
  202.     SJMP  FA3
  203. ;
  204. ;
  205. ;
  206. ;
  207. ;
  208. ;
  209. FADD:    CLR   3AH        ;THIS IS SUBROUTING 4-6
  210.     LCALL FMLD
  211.     LCALL FABP
  212.     RET
  213. ;
  214. ;
  215. ;
  216. ;
  217. ;
  218. ;
  219. ;
  220. ;
  221. FSUB:    SETB  3AH        ;THIS IS SUBROUTING 4-7
  222.     LCALL FMLD
  223.     LCALL FABP
  224.     RET
  225. ;
  226. ;
  227. ;
  228. ;
  229. ;
  230. ;
  231. ;
  232. FMUL:    LCALL FMLD        ;THIS IS SUBROUTING 4-8
  233.     MOV   A,R6
  234.     XRL   A,R7
  235.     MOV   C,ACC.7
  236.     MOV   38H,C
  237.     LCALL WDMUL
  238.     MOV   A,R7
  239.     MOV   C,ACC.7
  240.     MOV   PSW.5,C
  241.     MOV   A,@R0
  242.     ADD   A,@R1
  243.     MOV   R6,A
  244.     SETB  C
  245.     LCALL FSDT
  246.     MOV   A,R6
  247.     MOV   C,38H
  248.     MOV   ACC.7,C
  249.     MOV   R4,A
  250.     RET
  251. ;
  252. ;
  253. ;
  254. ;
  255. ;
  256. ;
  257. ;
  258. ;
  259. ;
  260. ;
  261. WDMUL:    MOV   A,R3        ;THIS IS SUBROUTING 4-10
  262.     MOV   B,R5
  263.     MUL   AB
  264.     MOV   R7,B
  265.     MOV   A,R3
  266.     MOV   B,R4
  267.     MUL   AB
  268.     ADD   A,R7
  269.     MOV   R7,A
  270.     CLR   A
  271.     ADDC  A,B
  272.     MOV   R3,A
  273.     MOV   A,R2
  274.     MOV   B,R5
  275.     MUL   AB
  276.     ADD   A,R7
  277.     MOV   R7,A
  278.     MOV   A,R3
  279.     ADDC  A,B
  280.     MOV   R3,A
  281.     MOV   PSW.5,C
  282.     MOV   A,R2
  283.     MOV   B,R4
  284.     MUL   AB
  285.     ADD   A,R3
  286.     MOV   R3,A
  287.     CLR   A
  288.     ADDC  A,B
  289.     MOV   C,PSW.5
  290.     ADDC  A,#0
  291.     MOV   R2,A
  292.     RET
  293. ;
  294. ;
  295. ;
  296. ;
  297. ;
  298. ;
  299. ;
  300. ;
  301. FDIV:    LCALL FMLD        ;THIS IS SUBROUTING 4-9
  302.     MOV   A,R6
  303.     XRL   A,R7
  304.     MOV   C,ACC.7
  305.     MOV   38H,C
  306.     CLR   A
  307.     MOV   R6,A
  308.     MOV   R7,A
  309.     CJNE  R4,#0,FD1
  310.     CJNE  R5,#0,FD1
  311.     SETB  C
  312.     RET
  313. FD1:    MOV   A,R3
  314.     SUBB  A,R5
  315.     MOV   A,R2
  316.     SUBB  A,R4
  317.     JC    FD2
  318.     CLR   PSW.5
  319.     CLR   39H
  320.     LCALL FSDT
  321.     MOV   A,R7
  322.     RRC   A
  323.     MOV   R7,A
  324.     CLR   C
  325.     SJMP  FD1
  326. FD2:    CLR   A
  327.     XCH   A,R6
  328.     PUSH  ACC
  329.     LCALL WDDIV
  330.     POP   ACC
  331.     ADD   A,@R0
  332.     CLR   C
  333.     SUBB  A,@R1
  334.     MOV   C,38H
  335.     MOV   ACC.7,C
  336.     MOV   R4,A
  337.     CLR   C
  338.     RET
  339. ;
  340. ;
  341. ;
  342. ;
  343. ;
  344. WDDIV:    MOV   A,R1        ;THIS IS SUBROUTING 4-11
  345.     PUSH  ACC
  346.     MOV   B,#10H
  347. DV1:    CLR   C
  348.     MOV   A,R6
  349.     RLC   A
  350.     MOV   R6,A
  351.     MOV   A,R7
  352.     RLC   A
  353.     MOV   R7,A
  354.     MOV   A,R3
  355.     RLC   A
  356.     MOV   R3,A
  357.     XCH   A,R2
  358.     RLC   A
  359.     XCH   A,R2
  360.     MOV   PSW.5,C
  361.     CLR   C
  362.     SUBB  A,R5
  363.     MOV   R1,A
  364.     MOV   A,R2
  365.     SUBB  A,R4
  366.     JB    PSW.5,DV2
  367.     JC    DV3
  368. DV2:    MOV   R2,A
  369.     MOV   A,R1
  370.     MOV   R3,A
  371.     INC   R6
  372. DV3:    DJNZ  B,DV1
  373.     POP   ACC
  374.     MOV   R1,A
  375.     MOV   A,R7
  376.     MOV   R2,A
  377.     MOV   A,R6
  378.     MOV   R3,A
  379.     RET
  380. ;
  381. ;
  382. ;
  383. ;
  384. ;
  385. INTTF:     MOV     R6,#10H     ;THIS IS SUBROUTING 4-12
  386.     SETB    C
  387.     CLR    PSW.5
  388.     LCALL    FSDT
  389.     MOV    A,R6
  390.     MOV    C,3CH
  391.     MOV    ACC.7,C
  392.     MOV    R4,A
  393.     LCALL    FSTR
  394.     RET
  395. ;
  396. ;
  397. ;
  398. ;
  399. ;
  400. ;
  401. FINT:    CLR    PSW.5        ;THIS IS SUBROUTING 4-13
  402.     INC    R0
  403.     MOV    A,@R0
  404.     MOV    R2,A
  405.     INC    R0
  406.     MOV    A,@R0
  407.     MOV    R3,A
  408.     DEC    R0
  409.     DEC    R0
  410.     MOV    A,@R0
  411.     MOV    C,ACC.7
  412.     MOV    3CH,C
  413.     CLR    ACC.7
  414.     JNB    ACC.6,FIN1
  415.     MOV    R2,#00H
  416.     MOV    R3,#00H
  417.     RET
  418. FIN1:    CJNE    A,#11H,FIN5
  419.     JC    FIN3
  420. FIN5:    SETB    PSW.5
  421.     MOV    R2,#0FFH
  422.     MOV    R3,#0FFH
  423.     RET
  424. FIN3:    CJNE    A,#10H,FIN4
  425.     RET
  426. FIN4:    CLR    C
  427.     XCH    A,R2
  428.     RRC    A
  429.     XCH    A,R2
  430.     XCH    A,R3
  431.     RRC    A
  432.     XCH    A,R3
  433.     INC    A
  434.     SJMP    FIN3
  435. ;