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