Добавление символа в конец введенной строки - Assembler
Формулировка задачи:
Очень нужна помощь, нужно в конец введенной строки поместить символ '$' чтобы не было зацикливания Как можно правильно это сделать?? Заранее спасибо!!
data segment str11 db 80, ?, 82 dup (?) data ends code segment assume cs: code, ds: data start: mov ax,data mov ds,ax lea dx, str11 mov ah, 0ah int 21h xor ah, ah lea bx, str11+2 xor cx, cx mov cl, str11+1 ; количество введенных символов mov bx, cx inc bx mov byte ptr [bx],'$' ;Добавление символа '$'????? A1: mov al, [BX] ; очередной символ строки cmp al,'.' jne A2 mov al,' ' jmp A3 jmp A2 jmp OUT1 A2: mov si, [BX+1] inc bx loop A1 A3: mov si, [BX+1] inc bx mov dl, [BX] cmp dl, 97 ;СРАВНИВАЕМ С 97 97=a jb A2 ;ЕСЛИ МЕНЬШЕ ЗАКАНЧИВАЕМ cmp dl, 122 ;СРАВНИВАЕМ С 122 122=z ja A2 ;ЕСЛИ БОЛЬШЕ ЗАКАНЧИВАЕМ sub dl, 32 mov bl, dl dec bx mov si, [BX-1] jmp A1 OUT1: lea dx, str11 mov ah, 09h int 21h mov ax, 4C00h int 21h code ends end start
Решение задачи: «Добавление символа в конец введенной строки»
textual
Листинг программы
lea dx, str11;* mov ah, 09h int 21h
Объяснение кода листинга программы
str11
- это переменная типа строка, в которую будет добавляться символ.dx
- это регистр, используемый для хранения адреса строкиstr11
.ah
- это регистр, используемый для хранения кода функции, которую нужно выполнить (в данном случае 09h - функция вывода строки).int 21h
- это команда, которая выполняет функцию, хранящуюся в регистреah
, с использованием регистраdx
как параметра. В данном случае выводит строкуstr11
на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д