Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Ваши программы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.01.2010, 11:01
tmtlib tmtlib вне форума
Прохожий
 
Регистрация: 13.01.2010
Сообщения: 1
Репутация: 10
По умолчанию Создание EXE как это делают компиляторы

Предлагаю вашему вниманию моё новое творение - ассемблер на Delphi. В отличие от многих примеров, которые только генерируют ASM файлы для последующей компиляции в TASM, MASM32, FASM и т.п. данная программа сама создаёт EXE файлы.

На данный момент программа создаёт EXE файлы объёмом от 1кб, поддерживает типы данных (byte,dword,string), записи (record) и немного других приятных функций.

Программы выглядят примерно таким образом:
Код:
.import
import	Kernel32.dll WriteFile
import	Kernel32.dll GetStdHandle
import Kernel32.dll ExitProcess


.var

record two_strings
	string s1 "This string have three parts:"
	string s2 "s1, s2"
	string somename "and s3."
end

byte STD_INPUT_HANDLE 0xf5
dword count 0x00000000


.code

push ^STD_INPUT_HANDLE
call getstdhandle

push 0x00        // lpOverlapped 
push @count      // lpNumberOfBytesWritten
push ^length(two_strings) // nNumberOfBytesToWrite
push @two_strings        // lpBuffer
push eax         // hFile
call writefile


push 0x00
call ExitProcess

Скачать компилятор, исходники компилятора и примеры (30кб):
http://www.igrodel.ru/tdg3d/peasm-0.3beta.zip

Компиляция - из коммандной строки (в архиве есть нужные BAT файлы для компиляции примеров).
Ответить с цитированием
  #2  
Старый 16.01.2010, 15:20
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
Хорошо

Круто, а 64 битный код сможет делать когда-нибудь?
__________________
Делаем'c разные игры. Искать на glscene.ru
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter