Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2010, 09:17   #1
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию 8-ми битные знаковые регистры. Их сравнение.

Привет всем еще раз.

Все пыхчу над своим компилятором паскакаля для CHIP-8. Все основное реализовал, массивы, процедуры-функции, константы, переменные, все блоки if then. while, repeat и тд. Теперь вот с типами значитса проконсультироваться хочу:

В энтом chip8 все регистры 8 битные. Пока в моем компиляторе соответственно только один тип - byte. Хочется туда добавить smallint, тоесть знаковый тип от -127 до +127.

Ну допустим, что хранить знак будем в первом (или последнем?) значащем бите. Но возникает вопрос с сравнением регистров, особенно такими как > (больше) и < (меньше).

В chip8 нету команд типа jb (jump below) или (ja), но мы можем пользоваться операциями вычитания и сложения, после которых устанавливается carry flag. Это что-же, придется эмулировать вычитание (тоесть смотреть сначала - если регистр больше 127 - значит это минусовое число, потом менять местами и вычитать). Или как же быть-то?

Сорри если не очень внятно сформулировал, посмотрите в вике п ссылке выше есть полная таблица опкодов этого chip8, их не так много - ~35 команд всего. Как бы вы поступили? Спасибо.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 24.08.2010, 10:34   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Tronix
Лень разбираться чипом-8, но команды jnz/jz у него есть? если есть, тогда сравнения А с В делается следующим образом push A/sub A,B/ pop A/ and FlAGS,CARRY/jnz metka
Mikl___ вне форума Ответить с цитированием
Старый 26.08.2010, 09:50   #3
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

доп.коды еще никто не отменял почитайте про них
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 01.09.2010, 19:07   #4
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от airyashov Посмотреть сообщение
доп.коды еще никто не отменял почитайте про них
Не понял? Что имеется ввиду под "доп.кодами" ?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 01.09.2010, 21:45   #5
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Не понял? Что имеется ввиду под "доп.кодами" ?
представление чисел отрицательных
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 01.09.2010, 22:03   #6
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от airyashov Посмотреть сообщение
представление чисел отрицательных
Понял, спасибо. Кажется то, что нужно. Буду экспериментировать.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
8-битные приставки и пистолет Hollander Свободное общение 37 17.08.2011 17:50
Регистры Волк Microsoft Office Excel 9 08.04.2009 16:07
Регистры Манжосов Денис :) Помощь студентам 8 28.07.2008 12:48
Регистры RealSHELS Общие вопросы Delphi 3 28.03.2008 18:56
Регистры Elm0 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 10.02.2008 19:49