Міністерство освіти і науки України
Національний університет "Львівська політехніка"
Кафедра "Інформаційні системи та мережі"



Звіт до лабораторної роботи № 3
з предмету:
Сиcтемне програмування та операційні системи
на тему №5:
АРИФМЕТИЧНІ КОМАНДИ МОВИ INTEL ASSEMBLER
ДЛЯ ДВІЙКОВИХ ДАНИХ









ЛЬВІВ-2008

Текст програми:
; Count (6-4)*(10+5)/(34-48/3)
.8086
.model small
.stack 100h
.data
A db 6
B db 4
C db 10
D db 5
E db 34
F db 48
G db 3
RESULT db ?
.code
.startup
mov al, A
sub al, B ; al=6-4
mov bl, C
add bl, C ; bl=10+5
mul bl ; ax=(6-4)*(10+5)
mov dx, ax ; dx=(6-4)*(10+5)
mov al, F
mov ah, 0 ; cdw
div G ; al=48/3
mov bl, E
sub bl, al ; bl=34-(48/3)
mov ax, dx ; ax=(6-4)*(10+5)
div bl ; bl=[(6-4)*(10+5)]/[(6-4)*(10+5)]
mov RESULT, al
.exit 0
end @startup