Важная информация

User Tag List

Страница 23 из 157 ПерваяПервая ... 192021222324252627 ... ПоследняяПоследняя
Показано с 221 по 230 из 1564

Тема: Программирование на УКНЦ как?

  1. #221

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    в СТАЛКЕРЕ, например, игроку предлагается число в самом начале ввести, наверняка
    для инициализации генератора )) А можно подробней о .GTIM - ведь если сам буду
    читать застряну надолго с этим ?
    .GTIM #AREA,#TIME

    AREA: .BLKW 2
    TIME: .BLKW 2

    возвращает число тиков (50 в секунду) набежавших с начала суток (со времени включения если время не выставляли).

    Можно и вообще без таймера обойтись - постоянно просить у генератора новое число, а использовать реально его только в нужные моменты которые и так получатся достаточно случайными
    Можно загрузить в ПП отдельную прогу генератора случайных чисел и пусть она живет там своей жизнью...
    Вобщем вариантов море.

    Я когда свой тетрис делал - вполне хватало постоянного дергания генератора с реальным использованием только когда нужно.
    Последний раз редактировалось form; 28.11.2011 в 03:40.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  2. #222

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Я когда свой тетрис делал - вполне хватало постоянного дергания генератора с реальным использованием только когда нужно.
    У меня тут видишь ли какая штука - все объекты при первом запуске всегда на одних и тех же местах тогда получаются.
    .GTIM #AREA,#TIME

    AREA: .BLKW 2
    TIME: .BLKW 2

    возвращает в какую переменную из этих двух?
    Я бы сразу сделал тогда нужную строчку и всё забыл бы пока об этом ! )))
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  3. #223

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    У меня тут видишь ли какая штука - все объекты при первом запуске всегда на одних и тех же местах тогда получаются.
    .GTIM #AREA,#TIME

    AREA: .BLKW 2
    TIME: .BLKW 2

    возвращает в какую переменную из этих двух?
    Я бы сразу сделал тогда нужную строчку и всё забыл бы пока об этом ! )))
    В TIME. Не помню только порядок: 32bit значение пишется сначала старшее слово, потом младшее, но в каком-то месте было исключение кажется как раз со временем - вобщем проверь
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #224

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    В TIME
    Ok! Попробую, попутно конечно почитаю все эти макрокоманды, просто пока
    время на другую часть хотелось-бы потратить )))


    ________________
    первый скриншот:
    так ещё хуже ))) И даже если бы не трапилось всё равно
    на старте одно и то же число - засада однако для меня !

    второй скриншот:
    насочинял ещё один "не вариант" на второй картинке )))

    третий скриншот:
    вернул пока к первоначальному (что-бы запуск не терять)
    надо что-то для инициализации в R1 случайное кидать (((
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	rnderr2.gif 
Просмотров:	284 
Размер:	4.3 Кб 
ID:	31209   Нажмите на изображение для увеличения. 

Название:	rnderr3.gif 
Просмотров:	288 
Размер:	8.8 Кб 
ID:	31210   Нажмите на изображение для увеличения. 

Название:	rnderr4.gif 
Просмотров:	267 
Размер:	7.1 Кб 
ID:	31211  
    Последний раз редактировалось hobot; 29.11.2011 в 00:59. Причина: добавил картинку ((( и ещё одну ((( и ещё (((
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  5. #225

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Как в макроассемблере сделать макросы для команд сохранения регистров в стеке?

    Хочу, чтобы PUSH Rx транслировалось, как MOV Rx,-(SP). И т.д.

  6. #226

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как в макроассемблере сделать макросы для команд сохранения регистров в стеке?

    Хочу, чтобы PUSH Rx транслировалось, как MOV Rx,-(SP). И т.д.
    Например так - если без наворотов:

    Код:
    .MACRO  PUSH    ARG
    .IRP    X,<ARG>
            MOV     X,-(SP)
    .ENDR
    .ENDM
    
            PUSH    R1
            PUSH    <R2,R3>


    ---------- Post added at 22:19 ---------- Previous post was at 22:15 ----------

    Кстати о сохранении регистров...
    Поскольку эта процедура обычно выполняется в подпрограммах, можно кое-что упростить. К примеру так:

    Код:
    $SAVAL::
    	MOV	R4,-(SP)	;СОХРАНЯЕМ R4
    	MOV	R3,-(SP)	;R3
    	MOV	R2,-(SP)	;R2
    	MOV	R1,-(SP)	;R1
    	MOV	R0,-(SP)	;R0
    	MOV	12(SP),-(SP)	;ПЕРЕНОСИМ АДРЕС ВОЗВРАТА
    	MOV	R5,14(SP)	;СОХРАНЯЕМ R5
    	JSR	PC,@(SP)+	;СОПРОГРАМИМ ВЫЗВАВШЕГО
    	MOV	(SP)+,R0	;ВОССТАНАВЛИВАЕМ R0
    	MOV	(SP)+,R1	;R1
    	MOV	(SP)+,R2	;R2
    	MOV	(SP)+,R3	;R3
    	MOV	(SP)+,R4	;R4
    	MOV	(SP)+,R5	;R5
    	RETURN
    Тогда в подпрограмме делаем CALL $SAVAL, у нас сохраняются все регистры, когда делается RETURN, они сами восстановятся и будет возврат куда надо. Кстати родная DECовская подпрограмма

    ---------- Post added at 22:27 ---------- Previous post was at 22:19 ----------

    Вообще, рекомендую обратить внимание на библиотеку ULBLIB которая лежит в RT-11 V5.7 сорцовом ките (с исходниками и описанием в них что подпрограммы делают). Весьма удобная вещь - многие RSXовские подпрограммы (увы, не все) в ней есть. Особенно полезны- сохранения регистров в разных сочетаниях, конвертация чисел/radix-50 <> ascii, арифметика без EIS итд.
    Последний раз редактировалось form; 28.11.2011 в 19:24.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  7. #226
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #227

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Немножко потестил скорость работы процессоров на УКНЦ - ужаснулся, какой тормоз периферийный процессор. Команды типа MOV Rx,Rx он выполняет за 16 тактов, вместо 8, как если бы время памяти было 1Т. Сначала показалось странным, но потом разобрался. Во-первых, как это я раньше не заметил, шина данных ОЗУ ПП - 8-битная! И все 16-битные транзакции выполняются в 2 раза медленнее. Во-вторых, доступ к ОЗУ возможен только во время временного слота 'Ц.П.', который наступает раз в 4 такта. Т.е. 2 такта на слот 'Ц.Э.' (цикл экрана), и 2 такта на 'Ц.П.' (цикл процессора). В общем, имеем около 390тыс. операций типа регистр/регистр на ПП, что более, чем в два раза медленнее, чем на том же Спектруме, не смотря на то, что тактовая частота ПП 6.25МГц.
    Последний раз редактировалось Titus; 29.11.2011 в 17:50.

  9. #228

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Немножко потестил скорость работы процессоров на УКНЦ - ужаснулся, какой тормоз периферийный процессор. Команды типа MOV Rx,Rx он выполняет за 16 тактов, вместо 8
    А приоритет процессору подымал перед тестом?
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #229

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А приоритет процессору подымал перед тестом?
    Приоритет относительно чего? Видеоконтроллера? Это невозможно. А доступ в ОЗУ со стороны ЦП и ПП происходят в параллель, и друг-другу не мешают.

  11. #230

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Приоритет относительно чего? Видеоконтроллера? Это невозможно. А доступ в ОЗУ со стороны ЦП и ПП происходят в параллель, и друг-другу не мешают.
    Приоритет процессора - его параметр. Это не только возможно, но и необходимо.

    Нужно делать MTPS #200 перед началом теста. Иначе все, что генерит прерывания будет прерывать твой тест.

    Если же используется таймер (прерывания) для отсчета, тогда надо позаботиться, чтобы все остальное не мешалось - на всякий случай
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 23 из 157 ПерваяПервая ... 192021222324252627 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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