Арифметические операции на ассемблере
Лабораторная работа №1
«Арифметические операции на языке
Ассемблер»
Выполнил: студент Жилин В. В.
гр. 1157
Проверил:
Санкт-Петербург, 2013
Блок-схема программы
КОД ПРОГРАММЫ
.model small
.stack 200h
.data
mas dw 25 dup(0)
i dw 1
space db 20h, ‘$’
.code
;Процедура вывода числа
printDWord proc near
……
……
…..
ret
printDWord endp
; Начало программы
start:
mov ax, @data
mov ds, ax
mov cx, 25
mov si, 0
; Цикл заполнения массива
circle:
; Формула заполнения =30-(i+5/3*i)
mov ax, 5
mov bx, 3
xor dx, dx
cwd
div bx
mul i
add ax, i
neg ax
add ax, 30
mov mas[si], ax
inc i
add si, 2
loop circle
; Вывод значений массива через пробел
mov cx, 25
mov si, 0
show:
mov ax, mas[si]
call printDWord
add si, 2
mov ah, 09h
mov dx, offset space
int 21h
loop show
mov ax, 4c00h
int 21h
end start
Дамп памяти