User Tag List

Страница 12 из 157 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 1564

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

  1. #111

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А чего он делает в точности?
    Если есть аргумент, то заносит его в R0, т.е. выполняется команда MOV R0,ARG. Затем выполняется этот код:
    Код:
            EMT     ^O341
            BCS     .-2
    , т.е. заносит выводимый символ в очередь вывода, а если не удалось занести, то тупо ждет.
    Последний раз редактировалось Alex_K; 01.10.2011 в 23:00.

  2. #112

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если есть аргумент, то заносит его в R0, т.е. выполняется команда MOV R0,ARG. Затем выполняется этот код:
    Код:
            EMT     ^O341
            BSC     .-2
    , т.е. заносит выводимый символ в очередь вывода, а если не удалось занести, то тупо ждет.
    А как мне сделать макрос с той же функцией, но без занесения аргумента в регистр R0? Потому что у меня уже в R0 значение.

  3. #113

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А как мне сделать макрос с той же функцией, но без занесения аргумента в регистр R0? Потому что у меня уже в R0 значение.
    Просто вызвать без аргумента: .TTYOUT. Если аргумент отсутствует, то команда MOV R0,ARG не выполняется.

  4. #114

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Просто вызвать без аргумента: .TTYOUT. Если аргумент отсутствует, то команда MOV R0,ARG не выполняется.
    Спасибо. Нет ли краткого описания подобных макросов, чтобы все понятно и доступно начинающим?

  5. #115

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Спасибо. Нет ли краткого описания подобных макросов, чтобы все понятно и доступно начинающим?
    Это макросы RT-11, так что может подойти документация по RT-11 или по ФОДОС. Есть здесь. Конкретно по системной макробиблиотеке - здесь.

  6. #116

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

    По умолчанию

    Еще дополнительный вопрос - есть ли всякие тесты, позволяющие протестировать правильность выполнения команд процессора?

  7. #117

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

    Post

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Titus, а зачем такие сложности, можно же подцепить макробиблиотеку SYSMAC.SML (она вообще-то автоматом цепляется, если есть) и объявить макрос с помощью .MCALL .TTYOUT, а затем уже использовать этот макрос.
    Либо добавить в заголовок файла,
    Код:
          .ENABL     LC, MCL
    для принудительного подключения библиотеки, или вообще свой макрос соорудить.

    Макрос-PIPEC выкидывает в стоп и 1000+исп или 0+исп - не продолжат выполнения программы (вопрос (без шуток), что такое хранится по адресу, который чистим?
    я не программер - просьба не издеваться )
    Код:
      
          .MACRO   .PIPEC
          CLR        @#54
          HALT
          .ENDM

    pascal - честная очистка экрана
    Код:
    PROCEDURE CLS;
    VAR    
       RA ORIGIN 176640B: INTEGER;
       RD ORIGIN 176642B: INTEGER;
    BEGIN
       WRITE(CHR(12));
       FOR RA:=100000B TO 151177B DO RD:=0;
    END;
    + прилепил документацию по макро-11 из архива
    Вложения Вложения
    Последний раз редактировалось hobot; 02.10.2011 в 09:12.

  8. #118

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    + прилепил документацию по макро-11 из архива
    Лучшая документация на ассемблер (если не считать родного описания) наверное книга Сингера (есть на сайте UKNC & PDP11). Вообще полезное чтиво - книга для начинающих программистов, только вот с заданиями из нее частенько современные опытные программисты бы не справились

    ---------- Post added at 13:42 ---------- Previous post was at 13:39 ----------

    Цитата Сообщение от hobot Посмотреть сообщение
    что такое хранится по адресу, который чистим?
    я не программер - просьба не издеваться )
    Код:
      
          .MACRO   .PIPEC
          CLR        @#54
          HALT
          .ENDM
    Чистится указатель на данные RMON
    HALT кстати не сработает в mapped мониторах и прога выпадет по трапу
    Впрочем для УКНЦ это не существенно

    ---------- Post added at 13:47 ---------- Previous post was at 13:42 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Еще дополнительный вопрос - есть ли всякие тесты, позволяющие протестировать правильность выполнения команд процессора?
    Для честных PDP-11 есть XXDP - там куча всяких тестов. Для УКНЦ можно попробовать тест 11/03, только придется драйвер писать с которого грузитья

    К солву, на УКНЦ находил неверно работающую команду из эмулируемых - не то MUL не то DIV...

    ---------- Post added at 13:49 ---------- Previous post was at 13:47 ----------

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если есть аргумент, то заносит его в R0, т.е. выполняется команда MOV R0,ARG.
    MOV R0,ARG это с точностью до наоборот
    Это на интеле порядок аргументов обратный

    ---------- Post added at 13:51 ---------- Previous post was at 13:49 ----------


    Цитата Сообщение от hobot Посмотреть сообщение
    Код:
    .TTYOUT #33
    .TTYOUT #247
    .TTYOUT #67
    Вместо кучи .TTYOUT наверное проще один .PRINT использовать
    Последний раз редактировалось form; 02.10.2011 в 10:54.
    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

  9. #119

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Чистится указатель на данные RMON
    мощно! =) спасибо =)

    Цитата Сообщение от form Посмотреть сообщение
    Вместо кучи .TTYOUT наверное проще один .PRINT использовать
    (.PRINT >>> EMT 351) можно конкретно пример как заменить? То есть каждый аргумент всё равно отдельной командой в R0 класть или как? А стоп .PRINT вроде "последовательность" отправляет на устройство?

  10. #120

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    (.PRINT >>> EMT 351) можно конкретно пример как заменить? То есть каждый аргумент всё равно отдельной командой в R0 класть или как? А стоп .PRINT вроде "последовательность" отправляет на устройство?
    Код:
            .PRINT  #TEXT1          ;БЕЗ <CR><LF>
            .PRINT  #TEXT2          ;<CR><LF> В КОНЦЕ
    
    TEXT1:  .ASCII  /TEXT/<200>
    TEXT2:  .ASCIZ  /TEXT/
    Собственно есть такая замечательная дока: RT-11 System Macro Library Manual
    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

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

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

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

Эту тему просматривают: 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

Ваши права

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