Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сравнение символов на ASM86

4.6K
12 апреля 2007 года
SerG1nho
72 / / 30.10.2006
Доброе время суток.

Пишу прогу на ASM86, которая выполняет следующие действия -
пользователь вводит 20 символов с клавиатуры, и если в них содержится символ 'a', то должна выдать сообщение об ошибке, в противном случае - сообщение, что всё нормально.
Вот что я насочинял -

Код:
.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

В результате, всё время получается, что 'a' не в масиве...
Пожалуйста, укажите на мои ошибки. Заранее спасибо.
242
12 апреля 2007 года
Оlga
2.2K / / 04.02.2006
говорю честно - асм не помню)), но в общем накидала, может поможет:
Код:
'...........
m: mov ah,mas[bx]
    cmp ah,'a'
    je _error
    inc bx
    loopne m
 
    'выводим сообщемие ОК
     jmp _end
_error:
    'выводим сообщемие error
 
_end:
    'заканчиваем программу
    end begin
4.6K
12 апреля 2007 года
SerG1nho
72 / / 30.10.2006
Огромное спасибо за помошь. Всё верно...
Надеюсь и я когда нибудь не помня языка буду выдавать правильные ответы =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог