Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 ЛР Ассемблер Архитектура ВС 6 семестр.doc
Скачиваний:
7
Добавлен:
03.05.2019
Размер:
454.66 Кб
Скачать

Mov dl,10 ;Позиция X

int 10h

mov ah,0ah ;Ввод в буфер с клавиатуры

mov dx,offset mess2 ;Смещение по которому находится буфер

int 21h

mov dx,offset mess3 ;Смещение буфера

mov ah,9 ;Вывод на экран

int 21h

ret;конец

mess2 db 10 ;максимальная длина буфера

db ? ;реальная длина буфера

db 10 dup (' ')

mess3 db 0dh,0ah,'$' ;резервируем 10 символов

end start

В результате выполнения данной программы на экране появляется курсор в заданной позиции. Пользователь может вводит на экран слова. Но длинна предложения, введенного пользователем не должна превышать место зарезервированное буфером.

  1. Вывод на экран сообщения.

.model tiny

.code

org 100h

start:

mov ah,06h

mov al,0

mov bh,07h

mov ch,0

mov cl,0

mov dh,24

mov dl,79

int 10h

mov Ah,02h ;Номер функции позиционирование курсора

mov bh,0 ;Видео страница

mov dh,7 ;Позиция У

mov dl,75 ;Позиция Х

int 10h ;Прерывание BIOS

mov dx,offset mess2;Смещение до переменной mess2

mov ah,9 ;Вывод на экран

int 21h ;Прерывание DOS

ret ;Конец программы

mess2 db 'Asm',0dh,0ah,'$';Переменная значение которой можно ;изменить, перевод на новую строку и на начало

end start

В результате выполнения данной программы, на экране в заданной позиции появится выражение “Asm”.

JMP Безусловный переход.

JMP операнд

Команда JMP передает управление в указанную точку того же или другого программного сегмента. Адрес возврата не сохраняется. Команда JMP имеет пять разновидностей:

  • переход прямой короткий (в пределах –128…+127 байтов);

  • переход прямой ближний (в пределах текущего сегмента);

  • переход прямой дальний (в другой сегмент команд);

  • переход косвенный ближний;

  • переход косвенный дальний.

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

  • short - переход прямой короткий;

  • near ptr - переход прямой ближний;

  • far ptr - переход прямой дальний;

  • word ptr - переход косвенный ближний;

  • dword ptr - переход косвенный дальний.

In Считать данные из порта.

IN приемник, источник

Копирует число из порта ввода-вывода, номер которого указан в источнике, в приемник. Приемником может быть только AL, AX или ЕАХ. Источник – или непосредственный операнд, или DX, причем во время использования непосредственного операнда можно указывать лишь номера портов не больше 255.

OUT Записать данные в порт.

OUT приемник, источник

Копирует число из источника (AL, AX или ЕАХ) в порт ввода-вывода, номер которого указан в приемнике. Приемник может быть либо непосредственным номером порта (не больше 255), либо регистром DX. На командах IN и OUT строится все общение процессора с устройствами ввода-вывода – клавиатурой, жесткими дисками, различными контроллерами, и используются они, в первую очередь в драйверах устройств. Например, чтобы включить динамик РС, достаточно выполнить две команды:

in al, 61h

or al, 3

out 61h, al

Последовательность выполнения работы:

  1. Ознакомиться с теоретической частью работы.

  2. Проанализировать предложенные примеры.

  3. Составить алгоритм решения и набрать текст программы.

  4. Откомпилировать программу.

  5. Запустить её в работу.

  6. Откорректировать программу используя команду JMP.

  7. Составить отчет о проделанной работе и защитить его у преподавателя

Варианты заданий:

  1. Вывести на экран в правом нижнем углу свою фамилию.

  2. Ввести на экран с клавиатуры, в левом верхнем углу, фамилию и номер группы.

  3. Вывести в центр экрана свою дату рождения.

  4. Зарезервировать в буфере 20 позиций и ввести в него предложение.

  5. Зарезервировать буфер и ввести на экран с клавиатуры команды ввода-вывода.

  6. Вывести в нижней строке экрана три женских имени.

  7. Вывести на экран, используя команды in и out число в шестнадцатеричном формате.

  8. Вывести в центр экрана, используя команды in и out шестнадцатеричное число.

  9. Зарезервировать буфер и ввести в него «ПРИВЕТ».

  10. Вывести в верхней строке экрана слово «Ассемблер»

Содержание отчетов:

1. Цель работы и ключевые слова

2.Краткие теоретические сведения

3.Практическое задание и программный код его решения (с комментариями)

4.Результваты выполнения работы (скрин-шоты)

5 Заключение по работе

Лабораторная работа №2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]