Как сделать конкатенацию двух строк, введенных с клавиатуры? - Assembler

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

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

или хотя б как узнать реальную длину строки после ввода? enter там будет? можна узнать длину если искать циклично в строке enter?

Решение задачи: «Как сделать конкатенацию двух строк, введенных с клавиатуры?»

textual
Листинг программы
mov ah,0Ah
lea dx,Buffer
int 21h
 
mov cl,Buffer[1]  ; длина строки
 
. . .
 
Buffer db 50,?,50 dup (?)

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

  1. mov ah,0Ah — В этом коде команда mov ah,0Ah устанавливает значение регистра AH равным 0Ah. В кодировке ASCII значение 0Ah соответствует символу ``.
  2. lea dx,Buffer — Команда lea dx, Buffer обращает регистр DX к сегменту строки Buffer.
  3. int 21h — Эта команда вызывает функцию 21h, которая обычно используется для ввода данных с клавиатуры.
  4. mov cl,Buffer[1] — Команда mov cl, Buffer[1] копирует значение байта из строки Buffer, начиная со второго символа (индекс 1), в регистр CL. Здесь предполагается, что первый символ строки (индекс 0) содержит длину строки в байтах.
  5. В этом коде пропущен блок, который обрабатывает введенные данные.
  6. Buffer db 50,?,50 dup (?) — Это описание сегмента строки Buffer в формате описания строки. В этом случае строка Buffer состоит из 50 символов, включая символ пустой строки (поскольку за ним следует символ пустой строки), и 50 символов, повторяющихся до конца строки (поскольку последние 50 символов заполнены символом пустой строки).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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