OSDev

для всех
Текущее время: 22 ноя 2017, 13:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 18 июл 2007, 17:10 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1195
Вот пример приложения, осуществляющего прямой вывод на экран...
Код:
include "deformat.inc"
include "macros.inc"
include "syscalls.inc"
include "stdout.inc"
include "putstr.inc"

defsection CODE
{
                call    getconsole; eax = 0 & ebx = 0

                mov     eax, 3
                call    setvideomode

                mov     eax, videobuf
                mov     ecx, 1000h
                call    attachvideobuffer

                mov     esi, hellostr
                call    putstr

@@:             call    getevent
                sub     eax, EI_KEYDOWN
                jnz     @b

exit:           xor     esi, esi; eax = 0
                int     60h

                induct  32, getconsole, getevent, attachvideobuffer
                induct  32, setvideomode, getsuperpos, setsuperpos
                induct  32, putstr
}

defsection DATA
{
hellostr        db      14h, "H", 1Ch, "e", 1Eh, "l", 1Ah, "l", 19h, "o", 32
                db      11h, "w", 15h, "o", 14h, "r", 1Ch, "l", 1Eh, "d", 32
                db      17h, "Press any key to exit...", 32, 0
}

defsection RMA
{
                align4M
videobuf        rb      1000h
}

storefile 400000h, 1000h, 400000h


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 18 июл 2007, 20:11 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1056
Phantom-84, Незнаю, как ELF, а формат PE достаточно простой, сам юзаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 19 июл 2007, 10:03 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1195
Все они простые :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 19 июл 2007, 10:56 

Зарегистрирован: 27 апр 2007, 22:51
Сообщения: 84
Да, но количество компиляторов которые делаю PE или ELF файлы несравнимо с количеством компилеров для твоего формата...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 19 июл 2007, 11:47 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1195
Если ты заметил, для этого и специального компилятора не нужно, правда, не везде есть такие макросредства, как в fasm'е... Поддержка ELF будет однозначно, PE не будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 19 июл 2007, 12:23 

Зарегистрирован: 27 апр 2007, 22:51
Сообщения: 84
то есть результирующий файл в твоем формате можно получить только в фасме?
Вообще я и сам часто задумываюсь о своем формате исполняемых файлов. Сейчас я использую PE, но первое что в нем напрягает это DOS-stub и поля которые нигде не используются. При этом, огромным преимуществом является количество компиляторов, которые позволяют получить файл в ПЕ формате...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 19 июл 2007, 18:05 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1195
Цитата:
то есть результирующий файл в твоем формате можно получить только в фасме?
Не знаю. Я ось и все сопутствующее добро пишу исключительно на fasm'е - до стадии переноса компиляторов с высокоуровневых, да и не только языков пока еще не дошло, вот только собираюсь вводить поддержку ELF со стороны ОС.

Цитата:
Вообще я и сам часто задумываюсь о своем формате исполняемых файлов. Сейчас я использую PE, но первое что в нем напрягает это DOS-stub и поля которые нигде не используются. При этом, огромным преимуществом является количество компиляторов, которые позволяют получить файл в ПЕ формате...

В PE куча мусора, хотя DOS-stub я использую довольно компактный...
Код:
00000000: 4D 5A 48 00 01 00 00 00 02 00 40 00 FF FF 03 00 ¦
00000010: 00 04 00 00 00 00 00 00 1C 00 00 00 00 00 00 00 ¦
00000020: B4 09 99 1E 52 0E 1F B2 0C CD 21 CB 4E 65 65 64 ¦
00000030: 73 20 61 74 20 6C 65 61 73 74 20 57 69 6E 64 6F ¦
00000040: 77 73 20 39 35 0D 0A 24                         ¦


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполняемые файлы
СообщениеДобавлено: 01 авг 2013, 15:20 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1314
Откуда: Зеленоград
Продолжение этой темы (про VGA) отделено и перенесено: http://osdev.ru/viewtopic.php?f=7&t=772&p=1027#p1027


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB