Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 21.06.2017, 22:20   #1
slepi
Пользователь
 
Регистрация: 02.04.2017
Сообщений: 10
По умолчанию списки 8086

программа просит ввести возраст и если он в диапазоне 16-20, первое, как ввести двузначное и больше число,есть команда ввода с клавиатуры, в al идет код ASCII, но это только одно число, в дальше? в второе досбокс выдает ошибку:
(6)missing or unreachable CS (вот эта строчка STUDENT: R1<15,0010h>)
и предупреждение:
(25) operand types must match (вот эта строчка stud1: mov dx,STUD_MSSG)

Код:
R1 struc
AGE db ?
NEXT dw ?
R1 ends
Dseg segment
STUDENT: R1<15,0010h>
         ORG 10h
         R1<17,0020h>
         ORG 20h
         R1<21,0000h> 
STUD_MSSG db 'enter age 16-20$'
ERR_STUD_MSSG db 'invalid age$'                 
FLAG db 0 
dseg ends

sseg segment stack
db 100h dup (?)
sseg ends

cseg segment
assume cs:cseg,ds:dseg,ss:sseg
 start:
        mov ax,dseg
        mov ds,ax
stud1:  mov dx,STUD_MSSG
        mov ah,9h
        int 21h
        mov ah,1h
        int 21h
        lea si,STUDENT
serch:  cmp [si].NEXT,0
        jz end1
        cmp [si].AGE,al
        je yes
        mov si,[si].NEXT
        jmp serch
yes:
        mov FLAG,1
        mov si,[si].NEXT
        jmp serch               
end1:      
        mov ah,4ch
        int 21h
        
cseg ends
end start
slepi вне форума   Ответить с цитированием
Старый 21.06.2017, 23:18   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 5,970
По умолчанию

Цитата:
Сообщение от slepi Посмотреть сообщение
mov dx,STUD_MSSG
Вроде должно быть:
Код:
mov dx,offset STUD_MSSG
waleri вне форума   Ответить с цитированием
Старый 21.06.2017, 23:30   #3
slepi
Пользователь
 
Регистрация: 02.04.2017
Сообщений: 10
По умолчанию

точно, или lea, а по второму?
slepi вне форума   Ответить с цитированием
Старый 21.06.2017, 23:38   #4
slepi
Пользователь
 
Регистрация: 02.04.2017
Сообщений: 10
По умолчанию

нашел, там : лишнее, а вот по введению двузначных чисел так и не придумал.
и просто вопрос знатокам, можно ли добавлять списки или удалять? как в С например, и часто ли их используют в быту, так сказать?
slepi вне форума   Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler 8086 eleldar Фриланс 3 19.07.2012 16:32
Ассемблер 8086 KateMM Фриланс 2 28.05.2012 22:48
8086 Mudrujja Assembler - Ассемблер 0 01.03.2012 17:29