![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
Привет всем еще раз.
Все пыхчу над своим компилятором паскакаля для CHIP-8. Все основное реализовал, массивы, процедуры-функции, константы, переменные, все блоки if then. while, repeat и тд. Теперь вот с типами значитса проконсультироваться хочу: В энтом chip8 все регистры 8 битные. Пока в моем компиляторе соответственно только один тип - byte. Хочется туда добавить smallint, тоесть знаковый тип от -127 до +127. Ну допустим, что хранить знак будем в первом (или последнем?) значащем бите. Но возникает вопрос с сравнением регистров, особенно такими как > (больше) и < (меньше). В chip8 нету команд типа jb (jump below) или (ja), но мы можем пользоваться операциями вычитания и сложения, после которых устанавливается carry flag. Это что-же, придется эмулировать вычитание (тоесть смотреть сначала - если регистр больше 127 - значит это минусовое число, потом менять местами и вычитать). Или как же быть-то? Сорри если не очень внятно сформулировал, посмотрите в вике п ссылке выше есть полная таблица опкодов этого chip8, их не так много - ~35 команд всего. Как бы вы поступили? Спасибо.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Tronix
Лень разбираться чипом-8, но команды jnz/jz у него есть? если есть, тогда сравнения А с В делается следующим образом push A/sub A,B/ pop A/ and FlAGS,CARRY/jnz metka |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
доп.коды еще никто не отменял почитайте про них
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
Не понял? Что имеется ввиду под "доп.кодами" ?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
представление чисел отрицательных
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
Понял, спасибо. Кажется то, что нужно. Буду экспериментировать.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |