Как ввести сроку с клавиатуры и вывести её на экран? - Assembler

Узнай цену своей работы

Формулировка задачи:

Как ввести сроку с клавиатуры и вывести её на экран?

Решение задачи: «Как ввести сроку с клавиатуры и вывести её на экран?»

textual
Листинг программы
.model  small
.386
dos_inp macro   lbl, sz
_ib_    struc  
max db  sz      ; наибольшая длина строки
len db  ?               ; сюда вернется настоящая длина
bf  db  sz dup(?)   ; тут будет то, что ввели
_ib_    ends            
lbl _ib_ <>
endm
.stack  100
.data
req db  'Enter string:$'
dos_inp buf, 80
.code   
start:  
    mov ax, @data
    mov ds, ax
    mov es, ax
; Вывод на экран 
    mov     ah, 09h
    lea     dx, req
    int     21h
; ввод строки
    mov ah, 0Ah
    lea dx, buf
    int 21h
;; дописываем "рублик" в хвост строки, нужно для int 21/ah=9
    lea dx, buf.bf
    movzx   bx, buf.len
    mov buf.bf[bx],'$'
; новая строка
    mov ax, 0D0Ah
    int 29h
    xchg    al, ah
    int 29h
 
; Вывод на экран 
    mov     ah, 09h
    int     21h
; выход
    mov ah, 4Ch
    int 21h
    end start

Объяснение кода листинга программы

  1. Объявление переменных:
    • buf - структура, в которой будет храниться введенная строка
    • req - строка, которая выводится на экран для запроса ввода
    • sz - размер буфера для ввода строки (в данном случае 80 символов)
    • max - максимальная длина строки, которую можно ввести (также 80 символов)
  2. Использование макроса dos_inp для ввода строки с клавиатуры. Этот макрос использует библиотеку DOS для ввода строки и сохраняет ее в буфере buf.
  3. Вывод на экран запроса для ввода строки.
  4. Ввод строки с клавиатуры с помощью функции int 21h/ah=0Ah.
  5. Добавление символа рублик в конец введенной строки. Это необходимо для корректного отображения строки при использовании функции int 21h/ah=9.
  6. Вывод новой строки на экран с помощью функции int 29h/ah=0D0Ah.
  7. Вывод на экран введенной строки с помощью функции int 21h/ah=09h.
  8. Выход из программы с помощью функции int 21h/ah=4Ch.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы