Поиск:

Ответ в темуСоздание новой темы Создание опроса
> компилятор для перевода прог из Pascal на Asm, вопрос 
:(
    Опции темы
Чердак
Дата 27.2.2005, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



smile
Я в Asm пока полный ноль, но нужно написать прогу, хочу сделать это с помощью компилятора, а вот что за компилятор нужно взять не наю, подскажите.

--------------------
PM MAIL   Вверх
oleg1973
Дата 27.2.2005, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



fasm к примеру



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Чердак
Дата 27.2.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Спасибо!
Скачал fasmw158. Тока не пойму как он работает. Компилирует ли он файлы - .pas в .асм?

--------------------
PM MAIL   Вверх
oleg1973
Дата 27.2.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



нет такого он не делает
он компилятор ассемблера

не думаю что ты найдеш такую прогу чтоб из pas в асм переводила


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Чердак
Дата 27.2.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



smile
Жаль.
--------------------
PM MAIL   Вверх
grg
Дата 28.3.2005, 15:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











pochti luboi pascal compilator mojet kompilirovat v asm, tolko programa budet nemnogo unreadable i ne smojet rabotat sama po sebe. (t.k. doljna bit svyazana s drugimi object failami).
mojesh poprobovat free pascal ili gnu pascal, doljna bit opciya chtobi ostavt asm source.
  Вверх
Coder
Дата 29.3.2005, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Есть такая прога называется Scaner67, вот смотри что она умеет делать:
что было:
Код

program gon;
var
 i : integer;
 a : string;
begin
a:='A';
i:=1;
writeln(a,i);
end.


что стало:
Код

    page 60,132
    TITLE EndFil - результат работы компилятора
    STSG    SEGMENT PARA STACK
        dw        128        dup(?)
    STSG    ENDS
;----------------------------------------
    DATASG  SEGMENT
        $Error    db    'Ошибка !!!','$'
        $ln    db    13,10,'$'
        $1    db    'A','$'
        $2    db    ?
        i    dw    ?
        a    db    256    dup(?)
        @@SchPu dw     0
    DATASG  ENDS
;----------------------------------------
    CODESG  SEGMENT
    MAIN    PROC      FAR
        ASSUME    CS:CODESG,DS:DATASG,SS:STSG

        push    ds          ;сохраняем вход PSP
        mov     ax,0
        push    ax
        mov     ax,DATASG
        mov     ds,ax       ;установка сегмента данных
        mov     es,ax       ;установка сегмента данных

        push    ax
        push    bx
        push    cx
        push    dx
        push    di
        push    si
        push    bp
        push    sp
;------ начало присваивания ------------
;------  пересылка литерала в строку-------
        push    cx
        add      [@@SchPu],1
        lea     si,$1
        lea     di,$2
        sub     di,si     ;в di размер литерала
        sub     di,1      ;т к $ не передаем
        mov     cx,di
        lea     di,a
        mov     [di],cl        ;первый бай - размер
        inc     di             ;пишем со второго байта
        rep     movsb
        mov     [di],byte ptr '$'
        sub      [@@SchPu],1
        pop     cx
;------  конец пересылки литерала в строку-------
;------  конец присваивания -------
;------ начало присваивания ------------
        mov      ax,1     ;заносим в ах число
        mov     i,ax
;------ конец присваивания ------------
;----------- Write ---------------
        push     cx
        add      [@@SchPu],1

        lea      dx,a
        inc      dx       ;первый байт - длина
        mov      ah,09h
        int      21h

        mov      di,0Ch
        mov      ss:[di],byte ptr '$'
        dec      di
        mov      ax,i     ;заносим в ах идентиф-р или смещение
        mov      bx,ax        ;ниже будет проверка на знак
        cmp      ax,0
        jge       next5    ;>
        neg      ax        ;перевод в положительн
next5:
        mov      cx,10
next3:
        mov      dx,0
        div      cx
         or      dl,30h
        mov      ss:[di],dl
        dec      di
        cmp      al,0
        jne      next3

        cmp      bx,0
        jge       next4
        neg      ax
        mov      ss:[di],byte ptr 2Dh  ;помещаем "-"
        dec      di
next4:
        inc      di
        mov      ax,ds
        push     ax           ;сохр сегм данн
        mov      ax,ss
        mov      ds,ax        ;сегм данн на стек
        lea      dx,ss:[di]
        mov      ah,09h
        int      21h
        pop      ax
        mov      ds,ax         ;восст сегм данн

        mov     ah,09       ;перевод строки
        lea     dx,$ln
        int     21h

        pop     cx
        sub      [@@SchPu],1
;----------- End Write ---------------
        mov    ax,0h
endo:
        cmp    ax,0h
        je     endo1
        mov     cx,@@SchPu
EnCik:
        pop     bx
        loop    EnCik
        mov     ah,09
        lea     dx,$ln
        int     21h
        mov     ah,09
        lea     dx,$Error
        int     21h
endo1:

        pop    sp
        pop    bp
        pop    si
        pop    di
        pop    dx
        pop    cx
        pop    bx
        pop    ax

        RET
    MAIN    ENDP
    CODESG  ENDS
        END  MAIN


впечатляет?! еслибы эта мини программа писалась на чистом Asm то она бы уложилась в строк 15, а тут сам видишь больше 100 ...

Кстати эта программа не является компилятором! Она файл *.pas переводит в *.asm так что компилить Asm код придется самому (в комплект с Scaner67 входит Asm компилятор)
наврятли ты найдешь эту программу в интеренте, если всетаки нужна я тебе ее могу скинуть на мыло.

Это сообщение отредактировал(а) Coder - 29.3.2005, 01:09
PM MAIL   Вверх
Чердак
Дата 29.3.2005, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Coder

smile Прикольная программулька, если тебе не трудно, то скинь мне ее на мыло: [email protected]

З.Ы. заранее благодарен.
--------------------
PM MAIL   Вверх
Чердак
Дата 31.3.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Coder
получил прогу, спасибо. Ну воть проблем: после компиляции, где можно найти откомпилированную прогу? Втекуще папке не обнаруживается.
--------------------
PM MAIL   Вверх
Чердак
Дата 31.3.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



smile
Coder
все в порядке, просто не заметил, что выдает ошибку синтаксический анализатор.
прикольно работает). Не наешь кто создал данный компилятор?
--------------------
PM MAIL   Вверх
bartram
Дата 31.3.2005, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: нет
Всего: 29



Coder, скинь мне тоже на мыло плиз smile
[email protected]


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
Coder
Дата 1.4.2005, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



короче скидывать всем мне накладно. качайте отсюда
http://ps.russian.ru/Scaner67.rar (700 Kb)
PM MAIL   Вверх
FRAGNATIC
Дата 3.4.2005, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



Цитата
ошибка: сервер перегружен

smile smile smile
PM MAIL   Вверх
Coder
Дата 3.4.2005, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



FRAGNATIC, пробуй в другое время
PM MAIL   Вверх
FRAGNATIC
Дата 6.4.2005, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



ты может всётаки выложиш его на более надёжном хосте? или вышли мне я его выложу где он всегда будет доступен)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3955 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.