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

User Tag List

Страница 11 из 12 ПерваяПервая ... 789101112 ПоследняяПоследняя
Показано с 101 по 110 из 119

Тема: Agon Light для начинающих

  1. #101
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,197
    Записей в дневнике
    40
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    42 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    в эмуляторе, которым я пользуюсь, к сожалению, отладчика нет. Судя по всему это команда MOS?
    для Fab Agon и для старого нерабочего запуск с ключом -d. Долбагер не подарок, конечно.

  2. #102
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,633
    Спасибо Благодарностей отдано 
    2,227
    Спасибо Благодарностей получено 
    146
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

  3. #103
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,850
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Замутил некую базовую поддержку строк в TinyContext. Пока не очень нравится как сделал. У Андрея Хохлова используется тип char[], у меня пока word.

    Скрытый текст

    Твой вариант можно чуть-чуть улучшить в плане компактности:
    Код:
        if eFlag=0 then
            if Buff[0]='"' then
              Emi1(0xCD);        // CALL   ?
              word pCode:=nCode;
              nCode:=nCode+2;
    
              while Look()!='"' do
                if Look()=char(0) then
                  Stop();
                end
                Emi1(Read());
              end
    
              Emi1(0);
              Read();
    
              Emi3(pCode, nCode);
              Emi1(0xD1);        // POP   DE
    
              eFlag:=1;
            end
        end
    По поводу указателей. Можно их пока не делать, а вместо них разрешить такие конструкции: char[addr] и word[addr]. Как раз следом за вышеприведённым кодом идёт обработка type(expr), её можно расширить:
    Код:
      if   eFlag =0 then
        word   I:=Find(0);
        if Cls[I]=1 then
          Push(I);
          Scan();              // (
          Push(Buff[0]);
          Scan();
          Expr();
          word J:=Pop();
          I:=Pop();
          if J='[' then
            Emi1(0xEB);        // XCHG
            Emi1(0x5E);        // MOV E,M
            if Size[I]=1 then
              Emi1(0x16);        // MVI D,0
              Emi1(0);
            end
            if Size[I]=2 then
              Emi1(0x23);        // INX H
              Emi1(0x56);        // MOV D,M
            end
          end
        end
    Тогда вот такая программа:
    Код:
    char putc(char C) is
      inline 0x0E, 0x02;       // mvi  C, 2
      inline 0xCD, 0x05, 0x00; // call 5
    end
    
    word puts(word s) is
        while char[s]!=0 do
            putc(char[s]);
            s:=s+1;
        end
    end
    
    begin
      puts("Hello, world!");
    end
    будет скомпилирована так:
    Код:
        ORG 100h
    
    L0005 EQU 5
    
        JMP L014E
    L0103:
        MVI C,2
        CALL L0005
        RET
    L0109:
        LXI H,4101h
        MOV E,M
        INX H
        MOV D,M
        XCHG
        MOV E,M
        MVI D,0
        PUSH D
        LXI D,0
        POP H
        MOV A,L
        SUB E
        JNZ L0122
        MOV A,H
        SUB D
        JZ L014D
    L0122:
        LXI H,4101h
        MOV E,M
        INX H
        MOV D,M
        XCHG
        MOV E,M
        MVI D,0
        LXI H,4100h
        MOV M,E
        CALL L0103
        LXI H,4101h
        MOV E,M
        INX H
        MOV D,M
        PUSH D
        LXI D,1
        POP H
        MOV A,L
        ADD E
        MOV E,A
        MOV A,H
        ADC D
        MOV D,A
        LXI H,4101h
        MOV M,E
        INX H
        MOV M,D
        JMP L0109
    L014D:
        RET
    L014E:
        CALL L015F
        DB 'Hello, world!',0
    L015F:
        POP D
        LXI H,4101h
        MOV M,E
        INX H
        MOV M,D
        CALL L0109
        RET
    [свернуть]
    Последний раз редактировалось b2m; 02.05.2024 в 20:20. Причина: убрал под спойлер, чтобы не раздражать Shiny

  4. Эти 2 пользователя(ей) поблагодарили b2m за это полезное сообщение:

    andrews (02.05.2024), Oleg N. Cher (03.05.2024)

  5. #104
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,197
    Записей в дневнике
    40
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    42 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ребзя, мы обсуждаем Agon.

  6. #105
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,850
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #106
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,197
    Записей в дневнике
    40
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    42 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Я ж не виноват, что он в этой теме про поддержку строк писал. Можно было бы в теме про TinyContext ответить, но заниматься кросс-постингом не в моих правилах.
    Кажется, тут был трэд обсуждения твоего эмулятора? Начни там.

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

    В общем, решил написать бестолковую программу и резко встал на грабли ADL
    Теперь программа выводит номер режима и разрешение экрана.

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

    в том самом старом примере plot.asm ввел код
    Код:
        ; FOR A LINE
    
        .db 18, 0, bright_magenta           ; set graphics colour: mode (0), colour
    
        .db 25, 69                          ; PLOT: mode (69 is a point in current colour),
        .dw 0, 0                         ; X; Y;
    
        .db 25, 13                          ; PLOT: mode (13 is a line),
        .dw 320,240                         ; X; Y;
    и эмуль просто вылетел.
    Вложения Вложения

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

  9. #107
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,709
    Спасибо Благодарностей отдано 
    431
    Спасибо Благодарностей получено 
    206
    Поблагодарили
    184 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    был трэд обсуждения твоего эмулятора?
    было бы неплохо, если бы b2m заинтересовался поддержкой Agon Light! Было бы кому задавать вопросы по эмулятору.
    Общаться с буржуинами удовольствие еще то. Они русского не знают, мы в массе своей английского на приличном уровне.

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

    Цитата Сообщение от Shiny Посмотреть сообщение
    резко встал на грабли ADL
    а для чего пока ADL нужен? Наверняка там траблов больше, чем в эмуляции z80. Нужны тесты выполнения инструкций и памяти. Что-то мне они не попадались. А еще системы прерывания и I2C и второго COM-порта ( завороток хотя бы). Хотя к большинству эмуляторов пользовательские внешние девайсы редко можно подключать.
    Последний раз редактировалось andrews; 02.05.2024 в 19:55.

  10. #108
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,197
    Записей в дневнике
    40
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    42 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    было бы неплохо, если бы b2m заинтересовался поддержкой Agon Light! Было бы кому задавать вопросы по эмулятору.

    ну не Tiny Context'ом же!

    Цитата Сообщение от andrews Посмотреть сообщение
    а для чего пока ADL нужен? Наверняка там траблов больше, чем в эмуляции z80. Нужны тесты выполнения инструкций и памяти. Что-то мне они не попадались. А еще системы прерывания и I2C и второго COM-порта ( завороток хотя бы). Хотя к большинству эмуляторов пользовательские внешние девайсы редко можно подключать.
    проц работает в этом режиме - 512МБ памяти и все такое. Вангую, что траблы возникнут, но при коде.

  11. #109
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,633
    Спасибо Благодарностей отдано 
    2,227
    Спасибо Благодарностей получено 
    146
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    512 Кб. Не Мб

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

    Цитата Сообщение от b2m Посмотреть сообщение
    Я ж не виноват, что он в этой теме про поддержку строк писал.
    Увы, но тему про TinyContext превратили в срач и перенесли во флейм, где её не видно половине форумчан.

    С CALL для обхода строки получилось отлично. Про char[addr] и word[addr] ещё думаю.

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

    Просто у Андрея Хохлова, автора TinyContext, в TinyContext v1.18 для DOS сделано по-другому - через char[]. И тогда можно адресовать строку просто как массив char.

  12. #110
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос: а у этой штуки какое-то расширение памяти имеется? или 512кб хватит всем?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

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

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

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

Похожие темы

  1. Ответов: 21
    Последнее: 07.05.2024, 02:37
  2. Микроконтроллеры AVR для начинающих
    от Ewgeny7 в разделе Для начинающих
    Ответов: 138
    Последнее: 23.07.2017, 20:54
  3. Для начинающих
    от Viktor2312 в разделе Ириша
    Ответов: 61
    Последнее: 14.03.2017, 12:13
  4. КМБ для начинающих
    от yur в разделе Программирование
    Ответов: 0
    Последнее: 16.10.2012, 14:06

Ваши права

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