Advertisement
Sylv3rWolf

Untitled

Sep 11th, 2015
113
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-4-17
  2. ;----------------------------------------------------------------------------------------------------------------
  3.  
  4.     jmp start
  5.  
  6.     db  00  ; adres 00
  7.     db  10  ; adres 10
  8.  
  9. wprowadz:
  10.  
  11.     call    10
  12.  
  13.     org 10  ; przejscie do zapisywania w 10
  14.  
  15. dane:
  16.    
  17.     in  00  ; odczytanie wartości
  18.  
  19. ;-------Game Output----------------------------------------------------------------------------------------------
  20.  
  21.     out 01
  22.     out 05
  23.  
  24. ;-------Game Output----------------------------------------------------------------------------------------------
  25.  
  26.     sub     al, 30  ; na równe obliczenia -30 do każdej wczytanej liczby
  27.     add     cl, 1   ; alokacja pamięci, adresowanie od [06] do [08]
  28.     mov    [cl], al ; wrzucanie liczby do alokacji pamięci
  29.     dec     dl  ; dekrementacja DL, aż do 0 i koniec pętli
  30.     cmp     dl, 0   ; dl==1, jeśli tak to obliczenia, jeśli nie wczytanie liczb
  31.     jz  oblicz  ; jesli ==0 to obliczenia
  32.     jmp dane    ; jeśli nie to licz dalej
  33.     iret        ; powrot z przerwania
  34.  
  35. ; -----KONIEC OPERACJI powrót do do reszty programu--------------------------------------------------------------
  36.  
  37. ;------PROGRAM START---------------------------------------------------------------------------------------------
  38.  
  39. start:
  40.  
  41. ;-------Game Output Start----------------------------------------------------------------------------------------
  42.  
  43.     mov     al, 24
  44.     out 01  ;światła
  45.  
  46.     mov al, 10
  47.     out 05  ;karuzela
  48.  
  49. ;-------Game Output----------------------------------------------------------------------------------------------
  50.  
  51. ;-------Wartości początkowe--------------------------------------------------------------------------------------
  52.  
  53.     mov     dl, 3   ; 3 liczby do wczytania
  54.     mov     cl, 05  ; od [05] początek zapisywania liczb
  55.     in  00
  56.     cmp     al, 38  ; porowuje czy wcisniety klawisz to 3, PRZERWANIE
  57.     jz  wprowadz    ; jesli wcisnieta 3 to leci do pętli
  58.     call    c0  ; jesli nie to konczy program
  59.  
  60. ;------PROGRAM START END-----------------------------------------------------------------------------------------
  61.  
  62. ;------OBLICZENIE DZIAŁANIA GŁÓWNEGO-----------------------------------------------------------------------------
  63.  
  64. oblicz:
  65.  
  66. ;------WARTOŚCI Z TABLICY----------------------------------------------------------------------------------------
  67.  
  68.     mov al, [06]
  69.     add al, 2
  70.     mov bl, [07]
  71.     inc bl
  72.     mov cl, [08]
  73.  
  74.     call    68
  75.  
  76.     jmp koniec
  77.  
  78. ;------wywołanie procedury do obliczeń---------------------------------------------------------------------------
  79.  
  80.     org 68
  81.  
  82. ;------(2+a)^3---------------------------------------------------------------------------------------------------
  83.  
  84.     push    al
  85.     pop dl
  86.     mul al, dl
  87.     mul al, dl
  88.  
  89. ;-------Game Output----------------------------------------------------------------------------------------------
  90.  
  91.     out 01
  92.     out 05
  93.  
  94. ;-------Game Output----------------------------------------------------------------------------------------------
  95.  
  96. ;------(1+b)^3---------------------------------------------------------------------------------------------------
  97.  
  98.     push    bl
  99.     pop dl
  100.     mul bl, dl
  101.     mul bl, dl
  102.     add al, bl
  103.  
  104. ;------(2+a)^3+(1+b)^3-------------------------------------------------------------------------------------------
  105.  
  106. ;-------Game Output----------------------------------------------------------------------------------------------
  107.  
  108.     out 01
  109.     out 05
  110.  
  111. ;-------Game Output----------------------------------------------------------------------------------------------
  112.  
  113.     push    al             ;WYNIK PIERWSZEJ CZĘSCI NA STOSIE!----------------------------------------
  114.     pop bl
  115.     mov al, [06]
  116.     add al, 8                  ;(a+8)
  117.     mul al, 3                  ;(a+8)*3
  118.     mul al, 2                  ;(2*(a+8)*3)
  119.     add al, cl             ;(c+2*(a+8)*3)
  120.  
  121. ;-------Game Output----------------------------------------------------------------------------------------------
  122.  
  123.     out 01
  124.     out 05
  125.  
  126. ;-------Game Output----------------------------------------------------------------------------------------------
  127.  
  128.     mov dl, [07]
  129.     div dl, 4
  130.     mul al, dl             ;(c+2*(a+8)*3)*b/4
  131.  
  132.     sub bl, al             ;(2+a)^3+(1+b)^3-(c+2*(a+8)*3)*b/4
  133.     push    bl
  134.    
  135.     pop al
  136.         sub     al, 4    
  137.         add     al, ef             ;-17
  138.  
  139.     push    al
  140.     pop bl                 ;wynik działania w BL!
  141.  
  142.     iret
  143.  
  144. ;------PROCEDURA KOŃCA PROGRAMU----------------------------------------------------------------------------------
  145.  
  146. koniec:
  147.  
  148.     call    c0
  149.  
  150.     org     c0
  151.  
  152. ;-----DEFINITYWNY KONIEC PROGRAMU--------------------------------------------------------------------------------
  153.  
  154. ;-------Game Output----------------------------------------------------------------------------------------------
  155.  
  156.     mov al, 90
  157.     out 01
  158.    
  159.     mov al, f9
  160.     add al, 6
  161.  
  162.     out 05
  163.  
  164. ;-------Game Output----------------------------------------------------------------------------------------------
  165.  
  166.     end
  167.  
  168. ;----------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement