ввод с клавиатуры в ассемблере
data segment
string db 'CHTO TEBE NADO',0ah,'$' ; строка для обработки
l dw $ - string
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea dx,string ;вывод на экран строки до обработки
mov ah,9
int 21h
mov dx,30h
lea di,string
mov cx,l
n:
cmp byte ptr [di],'T' ;собственно здесь указан искомый символ.
jne nn
;если найден искомый символ то перезапишем строку, без этого символа.
mov si,di
inc si
push di
push cx
inc cx
m:
mov al,byte ptr [si]
mov byte ptr [di],al
inc si
inc di
loop m
pop cx
pop di
nn:
inc di
loop n
lea dx,string ;вывод после обработки
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
Использовать прерывания. Например, 21h с ah = 0Ah;
Есть программа, которая из заданной строки удаляет заданный символ. Как сделать так, чтобы эта строка и символ вводились из клавиатуры? Заранее спасибо.
Вы меня извините, но как Вы задали вопрос то Assembler не для Вас. Ввод или delete это есть разные коды.
Цитата: CassandraDied
Использовать прерывания. Например, 21h с ah = 0Ah;
21h - это понятно
ah = 0Ah - А это, что за инструкция для Assembler.
UserNet2008. Не тупи. Это значение регистра ah.
Цитата: CassandraDied
UserNet2008. Не тупи. Это значение регистра ah.
Пусть будет так. Думаю Вам станет легче.