Advertisement
Sylv3rWolf

projektASKsm

Sep 10th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;działanie (2+a)^3+(1+b)^3-(c+2*(a+8)*3)*b/4-6-17
  2.  
  3.     jmp     start
  4.  
  5.     db  a  
  6.     db  00  
  7.     db  10  
  8.  
  9.  
  10. ;-------Hardware Timer--------------------------------------------------------------------
  11.     org     a
  12.     nop  
  13.     nop
  14.     nop
  15.     nop
  16.     nop
  17.     iret
  18. ;-----------------------------------------------------------------------------------------
  19.  
  20. ;-----Keyboard Handler--------------------------------------------------------------------
  21.  
  22.     org     10
  23.     cmp     dl, 0
  24.     jz  obliczenia
  25.     CLI  
  26.     push    al
  27.     pushf
  28.  
  29.     in  08
  30.     sub     al, 30
  31.     out 01
  32.     out 05
  33.     add     cl, 1
  34.     mov     [cl], al
  35.     nop  
  36.     nop
  37.     nop
  38.     nop
  39.     nop
  40.    
  41.     popf
  42.     pop     al
  43.     dec     dl
  44.     STI
  45.     iret
  46. ;-----------------------------------------------------------------------------------------
  47.  
  48. start:
  49.  
  50.     mov     al, 24
  51.     out 01  ;światła
  52.  
  53.     mov al, 10
  54.     out 05  ;karuzela
  55.  
  56.     mov     dl, 3
  57.     mov     cl, 05
  58.     in  00
  59.     cmp     al, 38
  60.     jz  nope
  61.     jmp     koniec
  62.  
  63.  
  64.  
  65. ;----------PĘTLA--------------------------------------------------------------------------
  66. nope:
  67.  
  68.     STI  
  69.     out     08
  70.  
  71.     idle:
  72.  
  73.     nop  
  74.     nop
  75.     nop
  76.     jmp     idle
  77. ;------------------------------------------------------------------------------------------
  78.  
  79. obliczenia:
  80.  
  81. ;-------przekładam sobie wartości z tablicy------------------------------------------------
  82.  
  83.  
  84.     mov al, [06]
  85.     add al, 2
  86.  
  87.     mov bl, [07]
  88.     inc bl
  89.  
  90.     mov cl, [08]
  91.  
  92.     call    68
  93.  
  94.  
  95. ;-------pierwszy nawias do potęgi 3--------------------------------------------------------
  96.    
  97. org 68
  98.  
  99.     push    al
  100.     pop dl
  101.     mul al, dl
  102.     mul al, dl
  103.  
  104.     out 01
  105.     out 05
  106.  
  107. ;-------drugi nawias do potęgi 3-----------------------------------------------------------   
  108.  
  109.     push    bl
  110.     pop dl
  111.     mul bl, dl
  112.     mul bl, dl
  113.  
  114. ;-------------------------------------------------------------------------------------------
  115.  
  116.     add al, bl
  117.     push    al
  118.  
  119.     ret
  120.  
  121. ;-----na stosie teraz jest wynik pierwszej części działania--------------------------------
  122.  
  123. ;------liczenie (c+2*(a+8)*3)*b/4----------------------------------------------------------
  124.  
  125.     mov al, [06]
  126.     add al, 8                  ;(a+8)
  127.     mul al, 3                  ;(a+8)*3
  128.     mul al, 2                  ;(2*(a+8)*3)
  129.     add al, cl             ;(c+2*(a+8)*3)
  130.     mov dl, [07]
  131.     div dl, 4
  132.     mul al, dl             ;(c+2*(a+8)*3)*b/4
  133.  
  134. ;-----zrzucenie ze stosu wyniku pierwszej części-------------------------------------------
  135.  
  136.     pop bl
  137.     sub bl, al          ;(2+a)^3+(1+b)^3-(c+2*(a+8)*3)*b/4
  138.     push    bl
  139.  
  140. ;------------------------------------------------------------------------------------------
  141. ;------tutaj wróci program po skończeniu procedury-----------------------------------------
  142.    
  143.     jmp     koniec
  144.  
  145.  
  146. ;koniec programu----zmiana gier------------------------------------------------------------
  147.  
  148. koniec:
  149.  
  150.  
  151. ;------DALSZA CZĘŚĆ PROGRAMU----------------------------------------------------------------
  152.  
  153.    
  154.     pop al
  155.         sub     al, 6    
  156.         add     al, ef      ;-17
  157.  
  158.     out 01
  159.     out 05
  160.  
  161.     push    al
  162.     pop bl      ;wynik działania w BL!
  163.  
  164.     call    c0
  165.  
  166.  
  167.  
  168. ;-----DEFINITYWNY KONIEC PROGRAMU----------------------------------------------------------
  169.  
  170.     org     c0
  171.  
  172.     mov al, 90
  173.  
  174.  
  175.     out 01
  176.  
  177.    
  178.     mov al, f9
  179.  
  180.     add al, 6
  181.  
  182.     out 05
  183.  
  184.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement