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

  1. ;
  2. ;    THIS THE FILE OF DBINT.ASM
  3. ;
  4. ;
  5. ;
  6. ;
  7. ;
  8. CMPT:    MOV    A,R5     ;THIS IS SUBROUTING 2-1
  9.     CPL    A
  10.     ADD    A,#01H
  11.     MOV    R5,A
  12.     MOV    A,R4
  13.     CPL    A
  14.     ADDC    A,#00H
  15.     MOV    R4,A
  16.     RET
  17. ;
  18. ;
  19. NADD:    MOV   A,R3     ;THIS IS SUBROUTING 2-2
  20.     ADD   A,R7
  21.     MOV   R5,A
  22.     MOV   A,R2
  23.     ADDC  A,R6
  24.     MOV   R4,A
  25.     RET
  26. ;
  27. ;
  28. ;
  29. ;
  30. ;
  31. NSUB1:    MOV   A,R3    ;THIS IS SUBROUTING 2-3
  32.     CLR   C
  33.     SUBB  A,R7
  34.     MOV   R5,A
  35.     MOV   A,R2
  36.     SUBB  A,R6
  37.     MOV   R4,A
  38.     RET
  39. ;
  40. ;
  41. ;
  42. ;
  43. ;
  44. ;
  45. DSUB:    MOV   A,R6     ;THIS IS SUBROUTING 2-4
  46.     CPL   ACC.7
  47.     MOV   R6,A
  48. DADD:    MOV   A,R2
  49.     MOV   C,ACC.7
  50.     MOV   PSW.5,C
  51.     XRL   A,R6
  52.     MOV   C,ACC.7
  53.     MOV   A,R2
  54.     CLR   ACC.7
  55.     MOV   R2,A
  56.     MOV   A,R6
  57.     CLR   ACC.7
  58.     MOV   R6,A
  59.     JC    DAB2
  60.     LCALL NADD
  61.     MOV   A,R4
  62.     JB    ACC.7,DABE
  63. DAB1:    MOV   C,PSW.5
  64.     MOV   ACC.7,C
  65.     MOV   R4,A
  66.     RET
  67. DABE:    SETB  C
  68.     RET
  69. DAB2:    LCALL NSUB1
  70.     MOV   A,R4
  71.     JNB   ACC.7,DAB1
  72.     LCALL CMPT
  73.     CPL   PSW.5
  74.     SJMP  DAB1
  75. ;
  76. ;
  77. ;
  78. ;
  79. NMUL:    MOV   R4,#0         ;THIS IS SUBROUTING 2-5
  80.     MOV   R5,#0
  81.     MOV   R0,#16
  82.     CLR   C
  83. NMLP:    MOV   A,R4
  84.     RRC   A
  85.     MOV   R4,A
  86.     MOV   A,R5
  87.     RRC   A
  88.     MOV   R5,A
  89.     MOV   A,R6
  90.     RRC   A
  91.     MOV   R6,A
  92.     MOV   A,R7
  93.     RRC   A
  94.     MOV   R7,A
  95.     JNC   NMLN0
  96.     MOV   A,R5
  97.     ADD   A,R3
  98.     MOV   R5,A
  99.     MOV   A,R4
  100.     ADDC  A,R2
  101.     MOV   R4,A
  102. NMLN0:    DJNZ  R0,NMLP
  103.     MOV   A,R4
  104.     RRC   A
  105.     MOV   R4,A
  106.     MOV   A,R5
  107.     RRC   A
  108.     MOV   R5,A
  109.     MOV   A,R6
  110.     RRC   A
  111.     MOV   R6,A
  112.     MOV   A,R7
  113.     RRC   A
  114.     MOV   R7,A
  115.     RET
  116. ;
  117. ;
  118. ;
  119. ;
  120. ;
  121. QKMUL:    MOV   A,R3    ;THIS IS SUBROUTING 2-6
  122.     MOV   B,R7
  123.     MUL   AB    ;R3 * R7
  124.     XCH   A,R7    ;R7 =(R3*R7)L
  125.     MOV   R5,B    ;R5 =(R3*R7)H
  126.     MOV   B,R2
  127.     MUL   AB    ;R2 * R7
  128.     ADD   A,R5
  129.     MOV   R4,A
  130.     CLR   A
  131.     ADDC  A,B
  132.     MOV   R5,A    ;R5 =(R2*R7)H
  133.     MOV   A,R6
  134.     MOV   B,R3
  135.     MUL   AB    ;R3 * R6
  136.     ADD   A,R4
  137.     XCH   A,R6
  138.     XCH   A,B
  139.     ADDC  A,R5
  140.     MOV   R5,A
  141.     MOV   PSW.5,C       ;Store CY
  142.     MOV   A,R2
  143.     MUL   AB    ;R2 * R6
  144.     ADD   A,R5
  145.     MOV   R5,A
  146.     CLR   A
  147.     MOV   ACC.0,C
  148.     MOV   C,PSW.5
  149.     ADDC  A,B
  150.     MOV   R4,A
  151.     RET
  152. ;
  153. ;
  154. ;
  155. ;
  156. NDIV1:    MOV   A,R3        ;THIS IS SUBROUTING 2-7
  157.     CLR   C         ;
  158.     SUBB  A,R7
  159.     MOV   A,R2
  160.     SUBB  A,R6
  161.     JNC   NDVE1
  162.     MOV   B,#16
  163. NDVL1:    CLR   C
  164.     MOV   A,R5
  165.     RLC   A
  166.     MOV   R5,A
  167.     MOV   A,R4
  168.     RLC   A
  169.     MOV   R4,A
  170.     MOV   A,R3
  171.     RLC   A
  172.     MOV   R3,A
  173.     XCH   A,R2
  174.     RLC   A
  175.     XCH   A,R2
  176.     MOV   PSW.5,C
  177.     CLR   C
  178.     SUBB  A,R7
  179.     MOV   R1,A
  180.     MOV   A,R2
  181.     SUBB  A,R6
  182.     JB    PSW.5,NDVM1
  183.     JC    NDVD1
  184. NDVM1:    MOV   R2,A
  185.     MOV   A,R1
  186.     MOV   R3,A
  187.     INC   R5
  188. NDVD1:    DJNZ  B,NDVL1
  189.     CLR   PSW.5
  190.     RET
  191. NDVE1:    SETB  PSW.5
  192.     RET
  193. ;
  194. ;
  195. ;
  196. IMUL:    MOV   A,R2         ;THIS IS SUBROUTING 2-8
  197.     XRL   A,R6
  198.     MOV   C,ACC.7
  199.     MOV   PSW.5,C
  200.     MOV   A,R2
  201.     CLR   ACC.7
  202.     MOV   R2,A
  203.     MOV   A,R6
  204.     CLR   ACC.7
  205.     MOV   R6,A
  206.     LCALL NMUL
  207.     MOV   A,R4
  208.     MOV   C,PSW.5
  209.     MOV   ACC.7,C
  210.     MOV   R4,A
  211.     RET
  212. ;
  213. ;
  214. ;
  215. ;
  216. IDIV:    MOV   A,R2         ;THIS IS SUBROUTING 2-9
  217.     XRL   A,R6
  218.     MOV   C,ACC.7
  219.     MOV   0,C         ;Save SIGN
  220.     MOV   A,R2
  221.     CLR   ACC.7
  222.     MOV   R2,A
  223.     MOV   A,R6
  224.     CLR   ACC.7
  225.     MOV   R6,A
  226.     LCALL NDIV1
  227.     MOV   A,R4
  228.     JB    ACC.7,IDIVE
  229.     MOV   C,0         ;Restore SIGN
  230.     MOV   ACC.7,C
  231.     MOV   R4,A
  232.     RET
  233. IDIVE:    SETB  PSW.5         ;Ouer Flow
  234.     RET
  235. ;
  236. ;
  237. ;
  238. ;
  239. ;
  240. ;
  241. ;
  242. ;
  243. ;
  244. ;
  245. DMUL:    MOV   A,R2        ;THIS IS SUBROUTING 2-10
  246.     XRL   A,R6
  247.     MOV   C,ACC.7
  248.     MOV   PSW.5,C
  249.     MOV   A,R2
  250.     CLR   ACC.7
  251.     MOV   R2,A
  252.     MOV   A,R6
  253.     CLR   ACC.7
  254.     MOV   R6,A
  255.     MOV   R4,#0
  256.     MOV   R5,#0
  257.     MOV   R0,#16
  258.     CLR   C
  259. DMLP:    MOV   A,R4
  260.     RRC   A
  261.     MOV   R4,A
  262.     MOV   A,R5
  263.     RRC   A
  264.     MOV   R5,A
  265.     MOV   A,R6
  266.     RRC   A
  267.     MOV   R6,A
  268.     MOV   A,R7
  269.     RRC   A
  270.     MOV   R7,A
  271.     JNC   DMLN
  272.     MOV   A,R5
  273.     ADD   A,R3
  274.     MOV   R5,A
  275.     MOV   A,R4
  276.     ADDC  A,R2
  277.     MOV   R4,A
  278. DMLN:    DJNZ  R0,DMLP
  279.     MOV   A,R4
  280.     MOV   C,PSW.5
  281.     MOV   ACC.7,C
  282.     MOV   R4,A
  283.     RET
  284. ;
  285. ;
  286. ;
  287. ;
  288. ;
  289. ;
  290. ;
  291. DDIV:    MOV   A,R2        ;THIS IS SUBROUTING 2-11
  292.     XRL   A,R6
  293.     MOV   C,ACC.7
  294.     MOV   0,C           ;Save SIGN
  295.     MOV   A,R2
  296.     CLR   ACC.7
  297.     MOV   R2,A
  298.     MOV   A,R6
  299.     CLR   ACC.7
  300.     MOV   R6,A
  301.     CLR   A
  302.     MOV   R4,A
  303.     MOV   R5,A
  304.     LCALL NDIV1
  305.     MOV   C,0    ;Restore SIGN
  306.     MOV   A,R4
  307.     RRC   A
  308.     MOV   R4,A
  309.     MOV   A,R5
  310.     RRC   A
  311.     MOV   R5,A
  312.     RET
  313. ;
  314. ;
  315. ;
  316. ;
  317. ;
  318. ;
  319. ;