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: "