Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование на CompModel(типа ассемблер), Селективный ввод символов с клавиатуры. 
:(
    Опции темы
TheRomul
Дата 31.5.2011, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 31.5.2011

Репутация: нет
Всего: нет



Селективный ввод символов с клавиатуры.Используемые внешнии устройства это клавиатура и дисплей.
Все русские буквы встречающиеся в строке ввода -в верхнию часть экрана дисплея(строки 1-4),все цифры-в нижнию часть экрана (строки 5-8),остальные символы не ввыводить.

Добавлено через 3 минуты и 57 секунд

была написана такая программа
;Все русские буквы встречающиеся в строке ввода -в верхнию часть экрана дисплея(строки 1-4),
;все цифры-в нижнию часть экрана (строки 5-8),остальные символы не ввыводить.
data segment
table_rus db 20h dup (0),' !"#$%&',0edh,'()*+',0a1h,'-',0eeh,'/','0123456789',':',0a6h,'<=>?@'
db 'abcdefghijklmnopqrstuvwxyz',0e5h,'\',0eah,'^_"'
db 0e4h,0a8h,0e1h,0a2h,0e3h,0a0h,0afh,0e0h,0e8h,0aeh,0abh,0a4h,0ech,0e2h,0e9h,0a7h,
0a9h,0aah,0ebh,0a5h,0a3h,0ach,0e6h,0e7h,0adh,0efh,'{|}~',0
db 80h dup (0)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov ax,3
int 10h

xor si,si
mov di,160*5
mm1:
mov ah,10h
int 16h

mov bx,offset table_rus
xlat

;фильтрация для цифр
cmp al,30h
jl mm2
cmp al,39h
ja mm2
mov byte ptr es:[di],al
inc di
inc di
jmp next
mm2:
;фильтрация для русских букв
cmp al,0a0h
jna mm3
mov byte ptr es:[si],al
inc si
inc si
mm3:

next:
cmp ah,1 ;выход ч/з [ESC]
jne mm1

mov ah,4ch ;выход из программы
int 21h
code ends
end start




Но она выдает ошибку: mov byte ptr es:[si],al
а вот ошибка..Компиляция...
Стр. № 39 : Метка не уникальна.
Обнаружены ошибки..
PM MAIL   Вверх
Настасия
Дата 4.12.2011, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.12.2011

Репутация: нет
Всего: нет



Ребят, всем привет)) У меня вопрос - есть пример (a(a^3 - c))/2d - двойное слово. Надо использоваеть регистры EAX EBX для каждого сомножителя. Как это реализовать?))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0665 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.