Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Pascal
Перезагрузить страницу Идеология Паскаля Forever!
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
ezswift ezswift вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.01.2019
По умолчанию Идеология Паскаля Forever! - 20.01.2019, 23:28

Здравствуйте, многоуважаемые программисты Паскаля!

Если Вы любите шарады, помогите мне пожалуйста!!!

У меня здоровенная проблема, так как я не могу осуществить заведомо работающий Machine-Language код в программе на Паскале.
Фактически, Паскаль запрещает мне доступ к экранной области. Думаю, что это происходит уже на этапе компиляции,
поэтому дальнейшее бессмысленно.

Верия Паскаля - древнейшая. Некая документация есть.

Итак, две версии проблеммного кода:
Обе рабочие, но не для Паскаля!!!!!!!!!!

- Первая - с абсолютной адресацией
Входящие данные: byte переменная len, word(2 bytes) переменная adr.

LDY #$00 (*инициализировали счётчик байт (в регистре Y) в 0*)
loop LDA adr,Y (*загрузили в регистр A значение по абсолютному адресу adr, со смещением адресации в регистре Y*)
EOR #$80 (*инвертировали 7-й бит (это - инверсия экранного байта)*)
STA adr,Y (*вернули байт обратно по абсолютному адресу со смещением*)
INY (*увеличели счётчик смещения*)
CPY len (*проверили, не вышел ли за рамки*)
BNE loop (*если не вышел, пойдём, новый байт окучим...*)

- Вторая - с АССЕМБЛЕРНЫМ указателям (*он содержат word(2 байта) адрес, по которому сидит экранный байт.*)
Входящие данные: byte переменная len, word(2 bytes) абсолютный адрес указателя(Это - ассемблер, фолкс!) - adP.

LDY #$00 (*инициализировали счётчик байт (в регистре Y) в 0*)
loop LDA (adP),Y (*загрузили в регистр A значение по указателю(он задан абсолютно!) adr, со смещением адресации в регистре Y*)
EOR #$80 (*инвертировали 7-й бит (это - инверсия экранного байта)*)
STA (adP),Y (*вернули байт обратно, по адресу в указателе, со смещением*)
INY (*увеличели счётчик смещения*)
CPY len (*проверили, не вышел ли за рамки*
BNE loop (*если не вышел, пойдём, новый байт окучим...*)

То есть идеологически, для Паскаля, я абсолютно не знаю какой путь выбрать и как организовать доступ.

Любую, известную информацию я предоставлю!
Только ПОМОЖИТЕ, ЕСЛИ МОЖИТЕ!!!

P.S.
Обидно то, что на других языках всё ОК!
А Паскаль моя нынешняя Любовь!
zen
Ответить с цитированием
Ads
Ответ

Метки
atari , inline , ml , pascal

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод кода из паскаля в с++ polova Задания за деньги 1 07.07.2015 10:51
Треугольник Паскаля* Diman545 Prolog 14 02.07.2014 12:33
перевести код из паскаля на с++. Киры4 Задания за деньги 1 29.05.2013 19:32
C паскаля на с++ cfexe Вопросы начинающих программистов 3 17.12.2011 01:34
ПОМОГИТЕ перевести с паскаля на С или С++ Ииринка Вопросы начинающих программистов 0 29.04.2011 00:13
Перевести с Паскаля на С++ =Anet= Задания за деньги 4 21.03.2011 12:08
Перевод из Паскаля в С++ как реализовать links С/С++ 7 11.09.2009 16:56
Преобразовать из Паскаля в Си. Niko Prolog 1 04.10.2007 21:07
Идеология IE 7 c++ Мысли вслух 29 02.11.2006 13:09
Треугольник Паскаля на Лиспе imported_Sniper Lisp 2 11.05.2005 18:16
Перевод программы с паскаля на c++ Werti C++ Builder 1 29.10.2004 11:01
Помогите с установкой Паскаля swater Pascal 2 09.03.2004 15:26



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов