Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Основы языка ассемблер. Операции ввода/вывода

Операции ввода/вывода
Основы языка ассемблер Операции ввода/вывода Операции ввода/вывода по прерыванию INT 21H АН = 01: Ввод с Работа со стекомpush  dx   ;поместить значение ;регистра dx в ЗадачаВывести значение переменной на экран. Программаorg 100h .model tiny chislo dd 12345    ;число для Задача1. Найти сумму двух чисел введенных с клавиатуры, если сумма < 10.2. Программа.model tiny org 100h  .data    stroka1  DB ВВОД С КЛАВИАТУРЫ ПО КОМАНДЕ BIOS INT 16H  Команда BIOS INT ЗаданияВ цикле ввести символ с клавиатуры и вывести его двоичное представление на
Слайды презентации

Слайд 2 Операции ввода/вывода

Операции ввода/вывода

Слайд 3 Операции ввода/вывода по прерыванию INT 21H

Операции ввода/вывода по прерыванию INT 21H АН = 01: Ввод

АН = 01: Ввод с клавиатуры с эхоотображением. Данная

функция возвращает значение в регистре AL.
АН = 02: Вывод символа. Для ввода символа на экран в текущую позицию курсора необходимо поместить код данного символа в регистр DL.
АН = 06: Ввод/вывод данных. Может использоваться как для ввода, так и для вывода. Для вывода занесите в DL выводимый символ (но не FFH!) и прерывание 21Н. Для ввода в DL занесите FFH, выполните прерывание 21Н. Программа при этом не останавливается, продолжает выполняться. При нажатии клавишы символ вводится в AL.
АН = 07: Прямой ввод с клавиатуры без эхоотображения. Данная функция работает аналогично функции 01.
АН = 08: Ввод с клавиатуры без эхоотображения. Данная функция действует аналогично функции 01 с одним отличием: введенный символ не отображается на экране, т.е. нет эха.
АН = 09: Вывод строки символов. Выводимая строка должна заканчиваться знаком доллара $. Адрес начала строки должен быть помещен в DX.
AH=0AH: Ввод данных в буфер: Определяется максимальная длина вводимого текста. Это необходимо для предупреждения пользователя звуковым сигналом, если набран слишком длинный текст; символы, превышающие максимальную длину, не принимаются. Во второй байт буфера команда возвращает действительную длину введенного текста в байтах. Адрес буфера помещается в региcтр DX.
АН = 0ВH: Проверка состояния клавиатуры. Данная функция возвращает шестнадцатеричное значение FF в регистре AL, если ввод с клавиатуры возможен, в противном случае - 00.

Слайд 4 Работа со стеком
push dx
;поместить

Работа со стекомpush dx  ;поместить значение ;регистра dx в стек

значение ;регистра dx в стек
pop dx


;записать в dx число
;из стека

Слайд 5 Задача
Вывести значение переменной на экран.

ЗадачаВывести значение переменной на экран.

Слайд 6 Программа
org 100h .model tiny chislo dd 12345

Программаorg 100h .model tiny chislo dd 12345  ;число для вывода

;число для вывода .code convert: mov ax, chislo

;число в AX mov cx,0 ; CX=0 – счетчик цифр mov bx,10 ; BX=0 – основание системы ; счисления .divide: mov dx,0 ;DX = 0; div bx ;деление AX на BX, ;частное в AX ;остаток в DX add dx, ' 0' ;добавление ASCII-код ; цифры 0 к остатку push dx ;сохранение в стеке inc cx ;счетчик +1
cmp ax,0 ;все? (Частное = 0?) jnz .divide ;если нет .reverse: pop ax ;иначе число уже ;преобразовано, цифры ;сохранены в стеке, ; СХ содержит их ;количество ;выбор цифры из стека mov ah,02h mov dx,ax int 21h dec cx ;уменьшаем счетчик цифр, ; оставшихся в стеке cmp cx,0 ;цифры кончились ? jnz .reverse ;Нет?
ret

Слайд 7 Задача
1. Найти сумму двух чисел введенных с клавиатуры,

Задача1. Найти сумму двух чисел введенных с клавиатуры, если сумма <

если сумма < 10.
2. Найти сумму двух чисел введенных

с клавиатуры для любой суммы.


Слайд 8 Программа
.model tiny org 100h .data stroka1

Программа.model tiny org 100h .data  stroka1 DB 'Введите первую цифру

DB 'Введите первую цифру ','$' stroka2

DB 13,10,'Введите вторую цифру ','$‘ stroka3 DB 13,10,'Сумма равна $'
.code mov ah,9 ; функция вывода строки mov dx,offset stroka1 ; ссылка на stroka1 int 21h ; вывести stroka1 на экран mov ah,1 ; функция ввода символа int 21h ; ввод 1-го символа sub al,30h ; преобразование 1-го ;символа в цифру push ax ; перемещение в стек mov ah,9 ; функция вывода строки mov dx,offset stroka2 ; ссылка на stroka2 int 21h ; вывести stroka2 на экран mov ah,1 ; функция ввода символа int 21h ; ввод 2-го символа sub al,30h ; преобразование 2-го символа ; в цифру push ax ; перемещение в стек mov ah,9 ; функция вывода строки mov dx,offset stroka3 ; ссылка на stroka3 int 21h ; вывести stroka3 на экран pop ax ; извлечение из стека 2-й ;цифры pop dx ; извлечение из стека 1-й ;цифры add dl,al ; сумма add dl,30h ; преобразование в символ mov ah,2 ; функция вывода символа mov al,dl ; сумма в al int 21h ; вывод символа ret ; завершить программу

Слайд 9 ВВОД С КЛАВИАТУРЫ ПО КОМАНДЕ BIOS INT 16H

ВВОД С КЛАВИАТУРЫ ПО КОМАНДЕ BIOS INT 16H Команда BIOS INT


Команда BIOS INT 16H выполняет специальную операцию, которая в

соответствии с кодом в регистре АН обеспечивает следующие три функции ввода с клавиатуры.
АН = 00: Чтение символа. Данная функция помещает в регистр AL очередной ASCII-символ, введенный с клавиатуры, и устанавливает скэн-код в регистре АН. Если на клавиатуре нажата одна из специальных клавиш, например, Home или F1, то в регистр AL заносится ОО. Автоматическое эхо символа на экран не происходит.
АН = 01: Определение наличия введенного символа. Данная функция сбрасывает флаг нуля (ZF=0), если имеется символ для чтения с клавиатуры; очередной символ и скэн-код будут помещены в регистры AL и АН соответственно и данный элемент останется в буфере.
АН = 02: Определение текущего состояния клавиатуры. Данная функция возвращает в регистре AL состояние клавиатуры из адреса памяти 417Н:\



  • Имя файла: osnovy-yazyka-assembler-operatsii-vvodavyvoda.pptx
  • Количество просмотров: 96
  • Количество скачиваний: 0