Вы находитесь на странице: 1из 6

Министерство образования Республики Молдова

Технический университет Молдовы


Факультет компьютеров, информатики и микроэлектроники

Отчет
По лабораторной работе №3
Тема: Программирование микропроцессора Intel 8086.

Выполнил студент гр. IBM-222


Писов Иван.

Проверил
Крецу В.

Кишинев 2024
Цель работы
а) Инструкции прыжка.
б) Инструкциитестирования.
в) Итерационныеинструкции.

Напишите программу, которая считывает с клавиатуры значения x, y и z, чтобы


вычислить выражение: E = x! + 0.25y + 5z и вывести результат на экран.

; multi-segment executable file template.

data segment
; add your data here!
pkey db "press any key...$"
p db ?,?,?
rez db ?,?
x db "x=$"
y db "y=$"
z db "z=$"
ends

stack segment
dw 128 dup(0)
ends

code segment
start:
; set segment registers:
mov ax,data
mov ds,ax
mov es,ax

; add your code here

lea dx, pkey


mov ah, 9
int 21h ; output string at ds:dx
sub al, 38h
mov p, al

lea dx, y
mov ah, 9
int 21h

mov ah, 1
int 21h

sub al, 30h


mov [p+1], al

lea dx, z
mov ah, 9
int 21h
mov ah,1
int 21h

sub al, 30h


mov [p+2],al

mov ah,0;

mov al,[p+2]
mov bl, 5
mul bl
mov [rez+1], al
;5z+x
mov al, [p]
add [rez+1], al
;0.25y
mov ah, 0
mov al,[p+1]
mov bl, 4
div bl

mov [rez], ah
add [rez+1],al

lea dx, pkey


mov ah, 9
int 21h
;output
mov dl, [rez+1]
add dl, 30h
mov ah, 2
int 21h

cmp [rez],0
je exit

mov dl, 2eh


mov ah, 2
int 21h

mov al,[rez]
mov bl, 2
mul bl
mov dl, al

add dl, 31h


mov ah, 2
int 21h

; wait for any key....


mov ah, 1
int 21h

mov ax, 4c00h ; exit to operating system.


int 21h

start ; set entry point and stop the assembler.


Вывод:В процессе лабораторной работы я ознакомился с инструкцией прыжка,
инструкцией тестирования, с итерационными инструкциями. А также сделал программу,
которая считывает с клавиатуры значения x, y и z, чтобы вычислить выражение: E = x! +
0.25y + 5z и вывести результат на экран.

Вам также может понравиться