daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Oct 27th, 2018 135 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Q2i=N5i/4-N6i
  2. ; Q2i=(N5i-N6i)*2
  3. ; Q2 = ( sum( i = 1 to N ) of Q2i ) / N + K.
  4.        
  5. N           equ     4           ; Kol-vo chisel v massive, >= 10.
  6. K           equ     0           ; Proizvol'naya konstanta.
  7.  
  8. dseg        at      30h         ; Segment dannih.
  9. N5:         ds      2           ; Adres elementa i v n5.
  10. N6:         ds      2           ; Adres elementa i v n6.
  11. Sum:        ds      2           ; Summa.
  12. Remainder:  ds      2           ; Ostatok.
  13. Remainder4: ds      1           ; Ostatok.pri del na 4
  14. sum_rem:        ds      2           ; Sum ostatok pri del na 4
  15. DivResult:  ds      2           ; Resultat deleniya.
  16.  
  17. xseg                            ; Segment vneshney pamyati.
  18. Q2:         ds      2           ; Finalnyi rezultat.
  19.  
  20. cseg                            ; Segment koda.
  21.             jmp     start       ; Perehod na start.
  22.             org     40h
  23.  
  24.  
  25. N5Arr:      dw      -400,256,302,1000
  26. N6Arr:      dw      50,65,84,0
  27.    
  28. start:
  29.             mov     r2,#N       ; Schetchik iteraciy.
  30.        
  31.             ; Zanesti znacheniya massivov:
  32.             mov     N5,#High(N5Arr)
  33.             mov     N5+1,#Low(N5Arr)
  34.             mov     N6,#High(N6Arr)
  35.             mov     N6+1,#Low(N6Arr)
  36.            
  37.             mov     sum,#0h     ; Obnulenie summy.
  38.             mov     sum+1,#0h
  39.  
  40. division4:
  41.             ; Perenosim N5i v r3r4  
  42.             mov     dph,N5      ; Zanesti adres v registr kosvennoy adresacii.
  43.             mov         dpl,N5+1
  44.             clr     a           ; Ochistit' a.
  45.             movc    a,@a+dptr   ; Peresylka iz pamyati programmy.
  46.             mov     r3,a        ; Zanesenie v r3.
  47.             clr     a           ; Ochistit' a.
  48.             inc     dptr        ; Uvelichit' znachenie ukazatelya.
  49.             movc    a,@a+dptr   ; Peresylka iz pamyati programmy.
  50.             mov     r4,a        ; Zanesenie v r4.
  51.             clr     a           ; Ochistit' a.
  52.             inc     dptr        ; Uvelichit' znachenie ukazatelya.
  53.             mov     N5,dph      ; Peredvinut' ukazatel na massiv.
  54.             mov     N5+1,dpl   
  55.            
  56.             ; Perenosim N6i v r5r6
  57.             mov     dph,n6      ; Zanesti adres v registr kosvennoy adresacii.
  58.             mov     dpl,n6+1
  59.             clr     a           ; Ochistit' a.
  60.             movc    a,@a+dptr   ; Peresylka iz pamyati programmy.
  61.             mov     r5,a        ; Zanesenie v r5.
  62.             clr     a           ; Ochistit' a.
  63.             inc     dptr        ; Uvelichit' znachenie ukazatelya.
  64.             movc    a,@a+dptr   ; Peresylka iz pamyati programmy.
  65.             mov     r6,a        ; Zanesenie v r6.
  66.             clr     a           ; Ochistit' a.
  67.             inc     dptr        ; Uvelichit' znahenie ukazatelya.
  68.             mov     N6,dph      ; Peredvinut' ukazatel na massiv.
  69.             mov     N6+1,dpl
  70.    
  71.  
  72.             ;DELENIE NA 4
  73.             clr c
  74.  
  75.             ;
  76.             mov a,r3
  77.             rlc a ; Ciklicheskiy sdvig vlevo s CF dlya sohraneniya znaka.
  78.             ;
  79.             mov a,r3
  80.             rrc a
  81.             mov r3,a
  82.             mov a,r4
  83.             rrc a
  84.             mov r4,a
  85.            
  86.             clr a
  87.             addc a,#0
  88.             mov Remainder4,a
  89.  
  90.             clr c
  91.             ;
  92.             mov a,r3
  93.             rlc a ; Ciklicheskiy sdvig vlevo s CF dlya sohraneniya znaka.
  94.             ;
  95.             mov a,r3
  96.             rrc a
  97.             mov r3,a
  98.             mov a,r4
  99.             rrc a
  100.             mov r4,a
  101.            
  102.             mov b,#2
  103.             clr a
  104.             addc a,#0
  105.             mul ab
  106.            
  107.             add a,Remainder4
  108.             mov Remainder4,a
  109.  
  110.             ;mov r7,a
  111.             ;mov a,sum_rem
  112.             ;add a,r7
  113.             ;mov sum_rem,a
  114.  
  115. subtraction:
  116.            
  117.             ; Vichytanie mladshego baita i zanesenie rezul'tata v r4.
  118.             clr     c           ; Ochistka flaga perenosa.
  119.             mov     a,r4        ; Kopirovanie v akkumulyator.
  120.             subb    a,r6        ; Vichytanie.
  121.             mov     r4,a        ; Sohranenie rezul'tata.
  122.  
  123.             ; Vichytanie starshego baita i zaema i zanesenie rezul'tata v r3.
  124.             mov     a,r3        ; Kopirovanie v akkumulyator.
  125.             subb    a,r5        ; Vichytanie.
  126.             mov     r3,a        ; Sohranenie rezul'tata.
  127.            
  128.  
  129.             mov a,Remainder4
  130.             anl a,#255
  131.             jz nosubrem
  132.            
  133.             ;13.75-14 = -0.25 (primer)
  134.             ;100 = 4
  135.             ;75 = 3
  136.             ;50 = 2
  137.             ;25 = 1
  138.             ;this is for this
  139.             clr c
  140.             mov a,#4h
  141.             mov r7,Remainder4
  142.             subb a,r7
  143.             mov Remainder4,a
  144.            
  145.             ;srazu vichitaem ego iz obshego ostatka potomuchto otric chislo
  146.             clr c
  147.             mov r7,Remainder4
  148.             mov a,Remainder
  149.             subb a,r7
  150.             mov Remainder,a
  151.             mov r7,a
  152.             mov a,#0
  153.             mov Remainder4,a
  154.            
  155.             ;SLUCHAY ESLI OSTATOK OTRIC
  156.             mov a,r7
  157.             anl a,#80h
  158.             jz poloshostatok
  159.  
  160.             ;vichit 1 iz summ
  161.             clr c
  162.             mov a,sum+1
  163.             subb a,#1
  164.             mov sum+1,a
  165.             mov a,sum
  166.             subb a,#0
  167.             mov sum,a
  168.             ;obnov tek ostatok
  169.             clr c
  170.             mov a,Remainder
  171.             add a,#4
  172.             mov Remainder,a
  173.  
  174. poloshostatok:
  175.             ;mov Remainder,a
  176.            
  177.             mov a,r4
  178.             add a,#1
  179.             mov r4,a
  180.  
  181.             mov a,r3
  182.             addc a,#0
  183.             mov r3,a
  184.  
  185. nosubrem:
  186.             clr c
  187.             mov a,Remainder
  188.             addc a,Remainder4
  189.             mov Remainder,a
  190.            
  191.             subb a,#4
  192.             anl a,#80h
  193.             jnz noaddrem
  194.  
  195.             mov a,r4
  196.             add a,#1
  197.             mov r4,a
  198.            
  199.             mov a,r3
  200.             addc a,#0
  201.             mov r3,a
  202.            
  203.             clr c
  204.             mov a,Remainder
  205.             subb a,#4
  206.             mov Remainder,a
  207.  
  208. noaddrem:
  209.             ; Summirovanie rezul'tata s Q2.
  210.             mov     a,r4        ; Perenos mladhsego baita.
  211.             add     a,sum+1     ; Summa s mladshim baitom.
  212.             mov     sum+1,a     ; Vozvrat rezul'tata.
  213.  
  214.             mov     a,r3        ; Perenos starhego baita.
  215.             addc    a,sum       ; Summa so starshim baitom.
  216.             mov     sum,a       ; Vozvrat rezul'tata.
  217.            
  218.             clr c
  219.             mov a,r2
  220.             subb a,#1
  221.             mov r2,a
  222.             jz  endsub
  223.             jmp division4   ; Provarka okonchaniya cikla.
  224.  
  225. endsub:
  226.    
  227. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top