User Tag List

Показано с 1 по 10 из 41

Тема: GCC 11.2.1 с поддержкой процессоров 1801вм1 и 1801вм2

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #17

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    482
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    390
    Поблагодарили
    145 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Удалось скомпилять простую программку, работает вроде, печатает что надо.
    Заглянув дебагером эмулятора обнаружил DIV и использование остатка деления, все верно скомпиляло.

    test.c

    Код:
    extern int rt11_print(int i, const char* ptr);
    int inline rt11_print(int i, const char* ptr)
    {
        asm ("mov 4(sp), r0");
        asm ("add $48, r0");
        asm ("emt 0341");
        asm ("bcs .-2");
        asm ("mov 6(sp), r0");
        asm ("emt 0351");
    }
    
    const char* txt_msg1 = " - Hello, world!";
    
    void main()
    {
    	for (int i=20; i<30; i++)
    	{
    		int j = i%10;
    		rt11_print(j, txt_msg1);
    	}
    }
    [свернуть]
    Но однако! Пока допетрил как все собрать ... жжуть.
    Хорошо в стартовом посте ссылка на hello где есть pdp11-aout.ld и crt0lda.s из которого надо crt0lda.o ассемблировать.
    Кстати упростил его, пашет

    crt0lda.s

    Код:
    ; 
            .text
            .GLOBAL _main
    	.GLOBAL start
    start:
            mov     $01000, sp
    	jsr	pc, _main
    	emt	0350
    
            .GLOBAL ___main
    ___main:
    	rts	pc
    	
            .end
    [свернуть]
    Иначе вот ни в жизнь бы не догадался как скомпилить хоть что-нибудь

    Вдруг кто тоже будет долго допетривать как под виндой собрать хеллоуворлд, а make берет вот под виндой и.. не пашет пушто его нету
    1) путь на \bin в PATH
    2) взять c гитхаба в стартовом посте файлы: pdp11-aout.ld, crt0lda.s, crt0lda.o (можно и упрощенный crt0lda.s выше привел)
    2) если модифицировали crt0lda.s, то его скомпилять надо pdp11-aout-as crt0lda.s -o crt0lda.o (один раз достаточно сделать)
    3) батником ниже компиляется тестовый файл: build.bat test

    build.bat

    Код:
    set PATH=.\bin
    pdp11-aout-gcc -mbm2 -msoft-float -c -o %1.o %1.c 
    pdp11-aout-ld --entry 01000 -T pdp11-aout.ld %1.o -o %1.out
    bin2load -a -f %1.out -o %1.lda -b 01000
    del /f %1.sav
    lda2sav.exe -o %1.sav %1.lda
    [свернуть]

    Вообщем хорошо что есть рабочий GCC. (а то я пробовал DECUS C для УКНЦ - вот там адъ и погибель, там настоящий Керниган и Ричи стайл, про анси не слышали, только самый трушный С, только хардкор)

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

    Oleg N. Cher(14.11.2021), yu.zxpk(14.11.2021)

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

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

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

Похожие темы

  1. Вопрос по 1801ВМ1
    от svinka в разделе БК-0010/0011
    Ответов: 35
    Последнее: 27.02.2022, 21:22
  2. Оберон/GCC для УКНЦ/БК
    от Oleg N. Cher в разделе ДВК, УКНЦ
    Ответов: 22
    Последнее: 10.11.2021, 11:15
  3. отладочный модуль на 1801ВМ1
    от Случайность в разделе ДВК, УКНЦ
    Ответов: 16
    Последнее: 21.04.2020, 14:55
  4. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51

Ваши права

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