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

User Tag List

Страница 3 из 28 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 276

Тема: Практическое программирование в среде RT-11 на ассемблере.

  1. #21
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну и совсем для красоты можно .FETCH сделать сначала ибо DK может быть каким-нибудь LD который часто не загружают.
    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. #22
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну и совсем для красоты можно .FETCH сделать сначала ибо DK может быть каким-нибудь LD который часто не загружают.
    Ну тогда программу уже сильно усложним, для начинающих много сложностей, легче вместо DK поставить SY, уж он то всегда загружен. А так и .DSTAT надо вызывать для определения загружен ли драйвер и его размер, плюс ещё место для него, потом .FETCH вызывать при необходимости.

  3. #23
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    .DSTAT надо вызывать для определения загружен ли драйвер и его размер
    Зачем? .FETCH отлично вызывается поверх загруженного драйвера - просто будет как ноп. Размер тоже не нужен - после выполнения .FETCH в R0 вернется первый свободный адрес после драйвера (если драйвер до этого был загружен - вернется адрес буфера который был указан в .FETCH).
    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. #24
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Размер тоже не нужен - после выполнения .FETCH в R0 вернется первый свободный адрес после драйвера
    А если памяти не хватит?

  5. #25
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А если памяти не хватит?
    Тогда .FETCH вернет ошибку которую программа может отработать.
    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

  6. #26
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Тогда .FETCH вернет ошибку которую программа может отработать.
    Ну чтобы это было, то тогда программе после запуска придется хватать всю свободную памятm, а драйвер грузить с адреса BUFFER+20000.
    Последний раз редактировалось Alex_K; 27.11.2016 в 01:36.

  7. #27
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ну чтобы это было, то тогда программе после запуска придется хватать всю свободную памятm, а драйвер грузить с адреса BUFFER+20000.
    Хватать всю память не надо - .FETCH можно натравливать на то, что за пределами топа программы. Соответственно можно либо заранее запросить память для буфера, а потом FETCH натравить на +20000 к нему, либо сделать .FETCH, а потом запросить R0+20000

    - - - Добавлено - - -

    Ну и в общем случае, в качестве начала буферов и тому подобного лучше использовать не метку в конце программы, а значение из @#50 или директивы .LIMIT - тогда программа будет по прежнему работать даже если из нее вызвать подпрограмму какую-нибудь библиотечную
    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

  8. #28
    Activist
    Регистрация
    07.04.2015
    Адрес
    г. Комсомольск, Ивановская обл.
    Сообщений
    319
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если для сокращения размеров занимаемой прогой памяти читать из памяти и записывать в файл по одному блоку? Буфер уменьшается в 16 раз, а порядка 7 килобайт оперативы не лишние.

  9. #29
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну и в общем случае, в качестве начала буферов и тому подобного лучше использовать не метку в конце программы, а значение из @#50 или директивы .LIMIT - тогда программа будет по прежнему работать даже если из нее вызвать подпрограмму какую-нибудь библиотечную
    Здесь ничего библиотечного не вызывается, потому и так можно. Да и вопрос был про сохранение ПЗУ с адреса 140000, а для этой цели и .FETCH необязательно вызывать, можно и самому, если понадобится и с помощью LOAD загрузить. А так программа обрастёт кучей ненужных функций. Может для начинающего программиста это и нужно, чтобы изучить все макровызовы, но для такой программы это лишнее.
    Да и к значению из @#50 надо вроде прибавить 2.

    - - - Добавлено - - -

    Цитата Сообщение от Korchagin Посмотреть сообщение
    Буфер уменьшается в 16 раз, а порядка 7 килобайт оперативы не лишние.
    Да вроде на МС1201.02 даже при включенном ПЗУ с адреса 140000 остаётся ещё 40 КБайт ОЗУ. Как же его так можно загрузить, что и 9 КБайт не будет хватать?

  10. #30
    Activist
    Регистрация
    07.04.2015
    Адрес
    г. Комсомольск, Ивановская обл.
    Сообщений
    319
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    56 килобайт всего в наличии, из которых 8 килобайт поставленное ПЗУ - итого 48 всего-то остается. Сколько ест операционка, не знаю, но если прога 10 килобайт, то для операционки с дровами остается 38.

Страница 3 из 28 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

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