Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет ОМТ 123.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
478 Кб
Скачать
☆

2.3 Постановка задачи №3

Решить пример (a+b-c)/d

2.3.1 Выходные данные программы №3

2.3.2 Листинг программы №3

Dosseg ; Директива задает

;Расположение сегментов в памяти

.model small ;Расположение сегментов в памяти

.stack 100h ;директива определяет размерность стека

.data ;директива отмечает начало

;расположения информации в сегменте

;данных

start dw' ' ;Запуск строки

a dw 5 ;присваеваем переменной a значение5

b dw 2 ;присваеваем переменной b значение2

c dw 2 ;присваеваем переменной c значение2

d dw 2 ;присваеваем переменной d значение2

mes db'(a+b-c)/d=','$' ;присваеваем переменной a значение5

.code ;начало сегмента кода

mov ah,0 ;функцияустановки режима дисплея

mov al,3 ;установка режима 25 строк в каждый из

int 10h ;прерывание,по которому происходит

;очистка экрана

mov ax,@data ;загрузка в регистр ds базового адресса

mov ds,ax ;с которого в память будет начинать

;распологаться сегмент данных

mov ah,9 ;функция ДОС вывода строки на экран

mov dx,offset mes ;загрузки в регистр dx смещение по

;которому в сегменте данных распологается

;строка с именем mes

int 21h ;прерывание по которому происходит

;передача управления ОС для выполнения

;ранее объявленной функции

xor ax,ax ;обнуление регистра ах

xor dx,dx ;обнуление регистра dх

mov ax,a ;обнуление регистра ах

mov bx,b ;обнуление регистра bх

adc ax,bx ;сложение ах и bx

mov bx,c ; загрузка в регистр bx переменной c

sbb ax,bx ;вычитание ax от bx

mov bx,d ; загрузка в регистр bx переменной d

div d ;деление содержимого регистра ax на

;переменную d результат будет помещен в регистр ax

cycl: ;метка

push ax

push bx

push cx

push dx

xor cx,cx

p3:xor dx,dx

div cs:p16

mov bx,dx

mov dl,cs:pp[bx];

push dx

inc cx

cmp ax,0

jne p3

mov ah,2

p4:pop dx

int 21h

loop p4

pop dx

pop cx

pop bx

pop ax

mov ah,01h ;приостановка программы до нажатия любой

int 21h ;клавиши

mov ah,4ch ;функция ДОС завершения программы.

int 21h ; прерывания по которому происходит

;передача управления ОС для выполнения

; ранее объявленной функции.

p16 dw 10 ;в p16 заносится основание СС в которой

;будет осуществлятся вывод результата

pp db'0123456789' ; выбор символа для вывода на экран

end ;директива завершения программы на ассемблер