All pastes #237927 Raw Edit

Pitel

public text v1 · immutable
·published 2006-11-04 20:12 UTC
rendered paste body
; pulsemestralka, prvni program
        bits 16
  %include "rw.asm"

segment code

..start:
        prologue

; pridano uzivatelske rozhrani.. -----------------------
;  call WriteLn
;  mov dx,rada
;  call Write_String
;  call WriteLn
;  call Read_Byte ; do al se ulozi rada
;  call WriteLn
;  mov cl,al      ; docasne ulozeni al do cl
;  mov dx,sedadlo
;  call Write_String
;  call WriteLn
;  call Read_Byte ; do al se ulozi sedadlo
;  call WriteLn
;  mov bl,al
;  mov al,cl
;-------------------------------------------------------
  mov al,7       ; al = 7
  mov bl,26      ; bl = 26
  mov cl, 100    ; cl = 100
  mul cl         ; nasobi al * cl, vysledek do ax; ax = 700 | ah = 2 | al = 188
  add ah, bl     ; secte ah a bl; ah = ah + bl; ah = 28 | ax = 7356
  mov dl, 60     ; dl = 60
  div dl         ; vydeli ax / dl, vysledek do al, zbytek po deleni do ah; al = 122 | ah = 36
  add ah, al     ; pricte k ah al; ah = ah + al; ah = 158
  sub al, bl     ; odecte od al bl; al = al - bl; al = 96
  cmp al, 128    ; porovnani al a 128
  jae @n1        ; jestlize jsou stejne, skoc na @n1, jinak pokracuj..
  add al, 128    ; pricte k al 128; al = al + 128; al = 224
  @n1:
;  mov dx,vysledek
;  call Write_String
  mov dl, al     ; v1 = 224
  call Write_Byte
  call WriteLn
; pro 7/26 je vysledek : 224 = 1110 0000 = E0 = -0001 1111 + 1 = -0010 0000 =-32
        epilogue
;
;  segment DATA
;rada db 31,"Zadejte radu, ve ktere sedite: "
;sedadlo db 35,"Zadejte sedadlo, na kterem sedite: "
;vysledek db 13,"Vysledek je: "