Судя по всему код пытается установить два слова палитры подряд в памяти ПП начиная с адреса @#2470 (переслать их туда). На дефолтной системе адрес верный.
А чего в ассемблерном листинге получилось после компиляции? Мож GCC как-то не так компильнул
А не, норм. с программой все в порядке. Можно проверить зайдя скажем в эмулятор. Нажать в стартовом меню УСТ затем УПР-@ это будет периферийный процессор, набрать 2470, стрелка вправо, ввести слово палитры первое, нажать стрелка вниз, ввести слово палитры второе, нажать стрелка вниз, нажать УПР-Ц, ИСП). Так и поменяет палитру вместе с верхней и нижней одними строчками. Нууу видимо так уж устроена дефолтная таблица строк. Главное что на экран действует.
Тут видимо надо объяснить. 2470 в периферийном процессоре это адрес элемента таблицы строк где устанавливаются два слова палитры и еще адрес видеопамяти для вот этой самой верхней одной строчки в "служебной" части экрана. То-есть палитру ты применяешь помимо всего остального экрана и еще к ней до кучи (а также и к нижней одной строчке после экрана). Изначально экран был синим, а эти строчки черные. Ты поменял палитру так что синий стал черным, а черный стал зеленым - вот и на тебе. Закрась весь экран тоже черным и тогда цвета совпадут и строки эти не будут выделяться (наверное все станет зеленым)





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
