.model tiny
org 100h
.data
n dw 10
kol dw 10
mas db 20 dup(?)
error db 'V stroke prisydstvuet nedopustimuy simvol!$'
ok db 'vse normalno,zapretnuh simvolov net $'
.code
begin:
mov ax,dgroup
mov ds,ax
xor ax,ax
mov ax,3
int 10h
mov ah,3fh
mov bx,0
mov cx,kol
lea dx,mas
int 21h
mov cx,n
mov bx,0
m: mov ah,mas[bx]
cmp ah,'a'
inc bx
loopne m
jnz r
mov ax,3
int 10h
mov ah,9
lea dx,error
int 21h
r: mov ah,9
lea dx,ok
int 21h
mov ah,8
int 21h
mov ax,4c00h
int 21h
end begin
Сравнение символов на ASM86
Пишу прогу на ASM86, которая выполняет следующие действия -
пользователь вводит 20 символов с клавиатуры, и если в них содержится символ 'a', то должна выдать сообщение об ошибке, в противном случае - сообщение, что всё нормально.
Вот что я насочинял -
Код:
В результате, всё время получается, что 'a' не в масиве...
Пожалуйста, укажите на мои ошибки. Заранее спасибо.
Код:
'...........
m: mov ah,mas[bx]
cmp ah,'a'
je _error
inc bx
loopne m
'выводим сообщемие ОК
jmp _end
_error:
'выводим сообщемие error
_end:
'заканчиваем программу
end begin
m: mov ah,mas[bx]
cmp ah,'a'
je _error
inc bx
loopne m
'выводим сообщемие ОК
jmp _end
_error:
'выводим сообщемие error
_end:
'заканчиваем программу
end begin
Надеюсь и я когда нибудь не помня языка буду выдавать правильные ответы =)