User Tag List

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

Тема: Компилятор языка Паскаль - планы на будущее

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

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

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, вот именно так у меня и было. Работало. Но таким способом получается хороший код для простых процессоров, а, например, для x86 или ARM с их заковыристыми адресациями такой метод просто не видит операции, они "рассыпаются" в псевдокоде. Или же программу надо писать "простыми словами", а не вот так
    Код:
    if node^.nodeargs[i]^.resulttype<>nil then
    	typ1:=node^.nodeargs[i]^.resulttype^
    else begin
    	typ1.flags:=node^.nodeargs[i]^.resulttypeflag;
    	typ1.size:=4;
    end;
    Надо что-то изменить в структуре псевдокода, пока не пойму что.

    ---------- Post added at 00:11 ---------- Previous post was at 00:01 ----------

    Кодогенератор FPC вообще жжот, для надёжности проверяет индекс массива два раза и копирует один байт при помощи movsb:
    Код:
    # [210] typ1.flags:=node^.nodeargs[i]^.resulttypeflag;
    
            movzbl  -860(%ebp),%eax
            decl    %eax
            cmpl    $9,%eax
            jbe     .Lj3685
            call    FPC_RANGEERROR
    .Lj3685:
    
            movzbl  -860(%ebp),%eax
            movl    %eax,%edx
            decl    %eax
            cmpl    $9,%eax
            jbe     .Lj3686
            call    FPC_RANGEERROR
    .Lj3686:
    
            movl    -884(%ebp),%ecx
            movl    12(%ecx,%edx,4),%eax
            leal    -40(%ebp),%edi
            leal    69(%eax),%esi
            cld
            movsb
    Последний раз редактировалось Bolt; 15.03.2015 в 23:13.

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

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

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

Похожие темы

  1. Пожелания и планы по эмулятору Башкирия-2М
    от b2m в разделе Эмуляторы отечественных компьютеров
    Ответов: 848
    Последнее: 30.10.2025, 20:37
  2. Пожелания и планы по эмулятору MESS
    от shattered в разделе Эмуляторы отечественных компьютеров
    Ответов: 57
    Последнее: 02.08.2017, 22:14
  3. Планы на новые создаваемые игры
    от TomCaT в разделе Игры
    Ответов: 67
    Последнее: 21.03.2012, 14:44
  4. Назад в будущее?
    от Sonic в разделе Оси
    Ответов: 27
    Последнее: 19.07.2005, 16:56

Ваши права

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