- •Им.В.И.Ульянова (Ленина)» (сПбГэту)
- •По дисциплине
- •140400.62 – “Электроэнергетика и электротехника" Санкт-Петербург
- •Методические указания к проведению лабораторного практикума по дисциплине “Вычислительные машины системы и сети” автор доц. Каф. Вт а.А. Валов
- •Необходимые пояснения.
- •Необходимые пояснения.
- •Необходимые пояснения.
- •Задание
- •Задание
- •Задание
- •Необходимые пояснения.
- •Необходимые пояснения.
- •Необходимые пояснения.
- •Задание
- •Задание
Необходимые пояснения.
При написании программы ввода информации с клавиатуры предполагается использование интерфейса прикладных программ (API), обеспечиваемого операционной системой. Для обращения к функциям интерфейса в языке ассемблера используются программные прерывания, задаваемые командой INT. Номер 01h вызываемой функции ввода данных с клавиатуры необходимо задать в регистре AH. После нажатия клавиши, помеченной буквенно-цифровым символом, осуществляется размещение ASCII-кода символа в регистре AL.
Возможный вариант программы ввода с клавиатуры 16-ти битового двоичного числа приведен ниже.
TITLE VVOD ввод 16 бит двоичного числа, начиная со старших.
.Model Small
.STACK 100h
;Public VVOD
.data
object dw ?
message db 10,13,’ввод очередного бита $’
.code
VVOD:
mov ax,@data
mov ds,ax
mov object,0
lea di,object
mov cx,16
vv_0_1:
mov ah,9
lea dx,message
int 21h
mov ah,1
int 21h
cmp al,31h
jz vv1
cmp al,30h
jz vv0
jmp vv_0_1
vv1:
stc
rcl word ptr[di],1; di содержит адрес переменной object, используемой для хранения вводимого числа.
jmp loo
vv0:
clc
rcl word ptr[di],1
loo:
loop vv_0_1
mov ax,4C00h
int 21h
end VVOD
Требуется отладить приведенную программу и в отчете дать комментарий каждой строки приведенного выше текста программы. Затем необходимо модифицировать приведенный текст программы таким образом, чтобы модифицированная программа осуществляла ввод 8-ричного числа, состоящего из трех разрядов. Выполнить отладку модифицированной программы и составить отчет о работе.
Лабораторная работа 8. Вывод на экран результатов вычислений.
Цель: освоение средств операционной системы для осуществления вывода данных.
Необходимые пояснения.
Ниже приведен возможный вариант программного модуля вывода на экран результата вычисления, сохраняемого в переменной rezmask в двоичном коде. На экран результат вычисления выводится в виде двух разрядов десятичного числа.
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
mov ds,ax
cmp resmask,10; в переменной resmask задается значение не более 19
jb m1
sub resmask,10
mov dl,’1’
mov ah,2
int 21h
m1:
mov dl,resmask
or dl,30h
mov ah,2
int 21h
mov ax,4C00h
int 21h
End VIVOD
Необходимо отладить приведенную выше программу и включить ее в отчет, добавив комментарий к каждой строке программы. Затем требуется модифицировать приведенный текст программы таким образом, чтобы модифицированная программа осуществляла вывод результата вычисления из переменной rezmask на экран в виде двоичного числа. Необходимо отладить модифицированную программу и составить отчет о работе.
Лабораторная работа 9. Объединение программных модулей ввода и вывода данных.
Цель: закрепление навыков разработки многомодульной программы.
Предполагается выполнение четырех этапов, пояснение которых приведено выше (смотри описание лабораторной работы 8).
