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

  1. ;
  2. ;
  3. ;
  4. ;
  5. ;
  6. ;
  7. ;    THIS IS THE FILE OF DTOB.ASM
  8. ;
  9. IDTB:    MOV   R3,#0            ;THIS IS  SUBROUTING  8-1
  10.     MOV   A,@R0
  11.     MOV   R4,A
  12. IDTL:    MOV   A,R4
  13.     MOV   B,#10
  14.     MUL   AB
  15.     MOV   R4,A
  16.     MOV   B,#10
  17.     XCH   A,B
  18.     XCH   A,R3
  19.     MUL   AB
  20.     ADD   A,R3
  21.     XCH   A,R4
  22.     INC   R0
  23.     ADD   A,@R0
  24.     XCH   A,R4
  25.     ADDC  A,#0
  26.     MOV   R3,A
  27.     DJNZ  R2,IDTL
  28.     RET
  29. ;
  30. ;
  31. ;
  32. ;
  33. ;
  34. ;
  35. PDTB:    MOV   R3,#0          ;THIS IS  SUBROUTING    8-2
  36.     MOV   R4,#0
  37. PDTL:    MOV   A,R3
  38.     MOV   B,#9AH
  39.     MUL   AB            ;First    MUL
  40.     MOV   R5,B
  41.     XCH   A,R4
  42.     MOV   B,#19H
  43.     MUL   AB            ;Second MUL
  44.     ADD   A,R4
  45.     MOV   A,R5
  46.     ADDC  A,B
  47.     MOV   R5,A
  48.     MOV   A,@R0
  49.     MOV   B,#9AH
  50.     MUL   AB            ;Third    MUL
  51.     ADD   A,R5
  52.     MOV   R4,A
  53.     CLR   A
  54.     ADDC  A,B
  55.     XCH   A,R3
  56.     MOV   B,#19H
  57.     MUL   AB            ;Fourth MUL
  58.     ADD   A,R4
  59.     MOV   R4,A
  60.     MOV   A,B
  61.     ADDC  A,R3
  62.     MOV   R3,A
  63.     MOV   A,@R0
  64.     MOV   B,#19H
  65.     MUL   AB            ;Fifth    MUL
  66.     ADD   A,R3
  67.     MOV   R3,A
  68.     DEC   R0
  69.     DJNZ  R2,PDTL
  70.     RET
  71. ;
  72. ;
  73. ;
  74. ;
  75. ;
  76. ;
  77. ;
  78. IBTD:    CLR   A             ;THIS IS  SUBROUTING  8-3 ;IBDT2
  79.     MOV   R4,A
  80.     MOV   R5,A
  81.     MOV   R6,A
  82.     MOV   R7,#16
  83. IBTL2:    CLR   C
  84.     MOV   A,R3
  85.     RLC   A
  86.     MOV   R3,A
  87.     MOV   A,R2
  88.     RLC   A
  89.     MOV   R2,A
  90.     MOV   A,R6
  91.     ADDC  A,R6
  92.     DA    A
  93.     MOV   R6,A
  94.     MOV   A,R5
  95.     ADDC  A,R5
  96.     DA    A
  97.     MOV   R5,A
  98.     MOV   A,R4
  99.     ADDC  A,R4
  100.     DA    A
  101.     MOV   R4,A
  102.     DJNZ  R7,IBTL2
  103.     RET
  104. ;
  105. ;
  106. ;
  107. ;
  108. ;
  109. ;
  110. ;
  111. ;
  112. ;
  113. PBTD:    MOV   R4,#5        ;THIS IS  SUBROUTING  8-4
  114. PBTL:    MOV   A,R3
  115.     MOV   B,#10
  116.     MUL   AB
  117.     MOV   R3,A
  118.     MOV   A,#10
  119.     XCH   A,B
  120.     XCH   A,R2
  121.     MUL   AB
  122.     ADD   A,R2
  123.     MOV   R2,A
  124.     CLR   A
  125.     ADDC  A,B            ;(A) = BCD
  126.     MOV   @R0,A
  127.     INC   R0
  128.     DJNZ  R4,PBTL
  129.     RET
  130. ;
  131. ;
  132. ;
  133. ;
  134. ;
  135. ;
  136. ;
  137. NIDTB:    MOV    A,R1            ;THIS IS  SUBROUTING  8-5 ;SUBC1
  138.     MOV    R6,A
  139.     MOV    A,R7
  140.     MOV    R3,A
  141.     CLR    A
  142. NDB0:    MOV    @R1,A
  143.     INC    R1
  144.     DJNZ    R3,NDB0
  145.     MOV    A,R7
  146.     MOV    R3,A
  147. NDB3:    LCALL    NDB1            ;M10
  148.     MOV    A,@R0
  149.     ANL    A,#0F0H
  150.     SWAP    A
  151.     LCALL    NDB2            ;SUM
  152.     LCALL    NDB1            ;M10
  153.     MOV    A,@R0
  154.     ANL    A,#0FH
  155.     LCALL    NDB2
  156.     DEC    R0
  157.     DJNZ    R3,NDB3
  158.     RET
  159. NDB1:    MOV    A,R7            ;SUM SUBROUTING
  160.     MOV    R4,A
  161.     MOV    A,R6
  162.     MOV    R1,A
  163.     CLR    C            ;
  164.     MOV    R2,#00H
  165. NDB4:    MOV    A,@R1
  166.     MOV    B,#0AH
  167.     PUSH    PSW
  168.     MUL    AB
  169.     POP    PSW
  170.     ADDC    A,R2
  171.     MOV    @R1,A
  172.     MOV    R2,B
  173.     INC    R1
  174.     DJNZ    R4,NDB4
  175.     RET
  176. NDB2:    MOV    R5,A
  177.     MOV    A,R6
  178.     MOV    R1,A
  179.     MOV    A,R7
  180.     MOV    R4,A
  181.     MOV    A,R5
  182.     ADD    A,@R1
  183.     MOV    @R1,A
  184.     INC    R1
  185.     DEC    R4
  186.     MOV    A,R4
  187.     JNZ    NDB5
  188.     LJMP    NDB6
  189. NDB5:    MOV    A,@R1
  190.     ADDC    A,#00H
  191.     MOV    @R1,A
  192.     INC    R1
  193.     DJNZ    R4,NDB5
  194. NDB6:    RET
  195. ;
  196. ;
  197. ;
  198. ;
  199. ;
  200. ;
  201. ;
  202. ;
  203. ;
  204. ;
  205. ;
  206. ;
  207. ;
  208. ;
  209. ;
  210. ;
  211. NIBTD:    MOV    A,R0            ;THIS IS  SUBROUTING  8-6 ;SUBD1
  212.     MOV    R5,A
  213.     MOV    A,R1
  214.     MOV    R6,A
  215.     MOV    A,R7
  216.     INC    A
  217.     MOV    R3,A
  218.     CLR    A
  219. NBD0:    MOV    @R1,A
  220.     INC    R1
  221.     DJNZ    R3,NBD0
  222.     MOV    A,R7
  223.     MOV    B,#08H
  224.     MUL    AB
  225.     MOV    R3,A
  226. NBD4:    MOV    A,R5
  227.     MOV    R0,A
  228.     MOV    A,R7
  229.     MOV    R2,A
  230.     CLR    C
  231. NBD1:    MOV    A,@R0
  232.     RLC    A
  233.     MOV    @R0,A
  234.     INC    R0
  235.     DJNZ    R2,NBD1
  236.     MOV    A,R6
  237.     MOV    R1,A
  238.     MOV    A,R7
  239.     MOV    R2,A
  240.     INC    R2
  241. NBD3:    MOV    A,@R1
  242.     ADDC    A,@R1
  243.     DA    A
  244.     MOV    @R1,A
  245.     INC    R1
  246.     DJNZ    R2 ,NBD3
  247.     DJNZ    R3,NBD4
  248.     RET
  249. ;
  250. NPDTB:    MOV    A,R0            ;THIS IS  SUBROUTING  8-7 ;SUBE1
  251.     MOV    R4,A
  252.     MOV    A,R1
  253.     MOV    R5,A
  254.     MOV    A,R7
  255.     MOV    R3,A
  256.     CLR    A
  257. NPDB0:    MOV    @R1,A
  258.     INC    R1
  259.     DJNZ    R3,NPDB0
  260.     MOV    A,R7
  261.     MOV    B,#08H
  262.     MUL    AB
  263.     MOV    R3,A
  264. NPDB3:    MOV    A,R6
  265.     MOV    R2,A
  266.     MOV    A,R4
  267.     MOV    R0,A
  268.     CLR    C
  269. NPDB1:    MOV    A,@R0
  270.     ADDC    A,@R0
  271.     DA    A
  272.     MOV    @R0,A
  273.     INC    R0
  274.     DJNZ    R2,NPDB1
  275.     MOV    A,R5
  276.     MOV    R1,A
  277.     MOV    A,R7
  278.     MOV    R2,A
  279. NPDB2:    MOV    A,@R1
  280.     RLC    A
  281.     MOV    @R1,A
  282.     INC    R1
  283.     DJNZ    R2,NPDB2
  284.     DJNZ    R3,NPDB3
  285.     RET
  286. ;
  287. ;
  288. ;
  289. ;
  290. ;
  291. ;
  292. ;
  293. ;
  294. NPBTD:    MOV    A,R0            ;THIS IS  SUBROUTING  8-8 ;SUBF1
  295.     MOV    R4,A
  296.     MOV    A,R1
  297.     MOV    R5,A
  298.     MOV    A,R6
  299.     MOV    R3,A
  300.     CLR    A
  301. NPBD0:    MOV    @R1,A
  302.     INC    R1
  303.     DJNZ    R3,NPBD0
  304.     MOV    A,R6
  305.     RL    A
  306.     MOV    R3,A
  307. NPBD3:    MOV    A,R4
  308.     MOV    R0,A
  309.     MOV    A,R7
  310.     MOV    R2,A
  311.     MOV    R1,#00H
  312.     CLR    C
  313. NPBD1:    MOV    A,@R0
  314.     MOV    B,#0AH
  315.     PUSH    PSW
  316.     MUL    AB
  317.     POP    PSW
  318.     ADDC    A,R1
  319.     MOV    @R0,A
  320.     MOV    R1,B
  321.     INC    R0
  322.     DJNZ    R2,NPBD1
  323.     MOV    A,R1
  324.     ADDC    A,#00H
  325.     MOV    R1,A
  326.     MOV    A,R6
  327.     MOV    R2,A
  328.     MOV    A,R5
  329.     MOV    R0,A
  330. NPBD2:    MOV    A,@R0
  331.     SWAP    A
  332.     MOV    @R0,A
  333.     XCH    A,R1
  334.     XCHD    A,@R0
  335.     INC    R0
  336.     DJNZ    R2,NPBD2
  337.     DJNZ    R3,NPBD3
  338.     RET
  339.