Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Вывод на экран результатов вычислений

Автор:   •  Март 30, 2021  •  Лабораторная работа  •  1,616 Слов (7 Страниц)  •  227 Просмотры

Страница 1 из 7

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра Вычислительной техники

ОТЧЕТ

по лабораторной работе №8

по дисциплине «Организация ЭВМ и систем»

Тема: Вывод на экран результатов вычислений.

Студент гр.

Преподаватель

Санкт-Петербург

2020


Цель: освоение средств операционной системы для осуществления вывода данных.

Задание: Необходимо отладить приведенную выше программу и включить ее в отчет, добавив комментарий к каждой строке программы. Затем требуется модифицировать приведенный текст программы таким образом, чтобы модифицированная программа осуществляла вывод результата вычисления из переменной resmask на экран в виде двоичного числа. Необходимо отладить модифицированную программу и составить отчет о работе.

Текст приведенной программы с комментариями и исправлениями:

TITLE        VIVOD вывод двоичного результата в виде двух разрядов  десятичного числа.

.Model Small

.STACK 100h

;extrn        resmask:byte        ;в resmask хранится выводимый результат (двоичное число)

;Public VIVOD  

.data

resmask db 14

mes1 db 10,13,"RESULT: $" ;строка для вывода сообщения

.code

VIVOD:

mov         ax,@data        ;записываем через ax в ds

mov        ds,ax                ;смещение до сегмента данных

cmp        resmask,10; в переменной resmask задается значение не более 19

                                ;сравниваем resmask с 10

jb        m1                ;если меньше то значит у нас число из одной цифры

                                ;перейти к m1

sub        resmask,10        ;если больше то вычесть из resmask 10

mov        dl,31h        ;записываем в dl 31h – код символа «1»

mov        ah,2                ;в ah записывается 2 – код прерывания вывода символа из dl на

                                ;экран

int        21h                ;вызов прерывания DOS

m1:

mov        dl,resmask        ;записываем в dl resmask. Т.е. 4

or        dl,30h                ;побитовое«ИЛИ».Т.е. в dl записано число 000001002. Если

                                ;сделать побитовое «ИЛИ» с 30h(001100002), то будет записано

                                ;001101002 = 34h. Что соответствует символу ‘4’

mov        ah,2                ;код для вывода символа на экран из регистра dl

int        21h                ;вызов прерывания DOS

        mov ah, 01h                ;задержка вывода на экране

        int 21h                ;до нажатия клавиши

mov        ax,4C00h        ;строки отвечающие

int        21h                ;за завершение программы

End VIVOD

В ходе отладки строка:

        mes1 db 10,13,’RESULT: $’

Была исправлена на строку:

        mes1 db 10,13,"RESULT: $"

Так же была добавлен фрагмент, благодаря которому можно задержать исполнение программы на экране:

        mov ah, 01h

        int 21h

Была изменена строка:

        mov dl, ‘1’

на строку:

        mov dl,31h

Чтобы в итоге выводился символ ‘1’.

Все добавленные или измененные строки выделены жирным шрифтом

Результат работы программы:

[pic 1]

...

Скачать:   txt (7.8 Kb)   pdf (117.2 Kb)   docx (18.7 Kb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club