С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Эмулятор CHIP-8 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать перегруженные функции. http://www.cyberforum.ru/cpp-beginners/thread158328.html
Написать перегруженные функции и протестировать их в основной программе: А) перевода минут, часов и секунд в секунды; Б) перевода секунд в часы минуты секунды.
C++ Не устанавливается VC++6 Professional Edition Подскажите пожалуйста, при установке VC++6 Professional Edition выдаёт сообщение: Не найден файл D:\Mein Programen\VISUAL~1\VISUAL~1.EDI\acmboot.exe или один из его компонентов. Проверьте... http://www.cyberforum.ru/cpp-beginners/thread158303.html
Функция, формирующая массив C++
Ребят тпомогите написать программу, подскажите с чего начать... Вот задание - Функция, формирующая новый массив, упорядоченный по неубыванию, из двух массивов-параметров, уже упорядоченных по...
C++ Условный оператор if
Добрый день! есть следующий код программы на C++: #include<cmath> #include<iostream> int main(){ l: double a; std::cout << "Enter an integer: \n" ; std::cin>> a; ...
C++ Надо написать функцию которая выдаёт маршрут файла http://www.cyberforum.ru/cpp-beginners/thread158250.html
Помогите пожалуйста!!! Надо написать функцию которая выдаёт маршрут файла!
C++ Переменные в циклах я понимаю как работает переменная i первом цикле, но во втором не пойму. Переменная i объявлена, но не проинициализирована. Какое значение во втором цикле? char * left(const char * str, int n)... подробнее

Показать сообщение отдельно
Tronix
157 / 104 / 5
Регистрация: 22.08.2010
Сообщений: 215
23.08.2010, 13:00
Цитата Сообщение от fasked Посмотреть сообщение
А вот 23 ошибка это уже только для CHIP48?
Да, это уже для SCHIP. Реализуется кстати вообще проще простого, по аналогии с FX55/FX66 командами:
FX75 Сохранить V0...VX в HP48 флагах
FX85 Прочитать V0...VX из HP48 флагов
Просто заводится дополнительный массив размеров в 16 байт, и сохраняем регистры туда, а не в память по смещению I. Также и читаем оттуда. Примерно попробую:

В globals.h пишете что-то типа:
C++
1
2
#define HP48_SIZE      16
extern BYTE HP48flags[HP48_SIZE];
Ну а в cpu.cpp наверное так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void InitCpu()
{
    // bla-bla-bla
    memset(HP48flags, 0, HP48_SIZE);
    // bla-bla-bla
}
 
/// blablabla
 
    else if((opc & 0xFF) == 0x75)
    {
        for(int i = 0; i <= ((opc & 0xF00) >> 8); ++i)
        {
            HP48flags[i] = dataRegisters[i];
        }
    }
Также соответственно и для FX85 команды, только заменяем строку на dataRegisters[i] = HP48flags[i]; Вот и всех делов.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.