![]() |
|
|
![]()
|
|
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
Написал все как в книге, а исполняемый файл не создался?!
Где ошибка никто не занет? |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Пропиши полностью название файла. Мне кажется в этом загвоздка...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
Урааа....
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Не за что...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
А почему он так много весит?
1 024 bytes |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Открой каким-нибудь Hex-Editor'ом и посмотри в нем размер...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
с форума codenet Это сообщение отредактировал(а) Shaggie - 7.8.2007, 07:45 |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
Shaggie У меня еще один есть компилятор MASM он создает файл с размером примерно 500 байт, где- то еще читал WASM чтоли создает 81 байт что они не придесживаются стандарту PE-файлов???
|
|||
|
||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
Директива /ALIGN линкеру задаёт размер выравнивания, читай Касперски и экспериментируй. В итоге можно добится того, что секция кода практически перестанет забиваться нулями, то есть в файле будет заголовок = 512 байт и совсем немного кода. С учётом того, что над заголовком тоже можно издеваться и отрезать нули... WASM - не ассемблер, а сайт, посвящённый ассемблеру... никогда про такое не слышал. try_to_get, рекомендую забить пока на эту оптимизацию и сосредоточиться на самом ассемблере. Выигрыш незначителен, траблов много. Это интересно для самостоятельного изучения и понимания принципов работы PE-файлов, но не более того. На сладкое прикладываю файл с экзешником, весящим 302 байта. Сразу предупреждаю - не я писал. Присоединённый файл ( Кол-во скачиваний: 2 )
302.zip 1,37 Kb |
|||
|
||||
| try_to_get |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
Вот здесь видел 4.2. Программа типа ЕХЕ, там внизу такая запись:
1.1 Что потребуется для работы с ассемблером здесь написано, что WASM создан Watcom |
||||
|
|||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
Ага, Watcom Assembler... посыпаю голову пеплом
У исполняемых файлов под DOS другой заголовок. Точнее сказать, современный PE-формат файлов в Windows является расширением MZ-формата DOS. Насколько я помню (могу ошибаться), в DOS заголовок файла 64 байта, плюс код - как раз получается 81 байт. Но такой файл не будет запускаться в Windows. Из того же листинга
Это устаревшая директива создания .exe файла, сейчас используется .model flat Плюс ко всему в коде используется 1) 16 разрядные регистры, 2) 21 прерывание. Если использование 16 разрядных регистров просто неэффективно, то практически к любому прерыванию напрямую из-под защищённого режима операционной системы обращаться запрещено. |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
У меня возник вопрос насчет регистров!?
Не зняю правильно ли я понял! регистры eax, ecx и т.д. 32 разрядные. У меня процессор 64 разрядный, значит у него есть 64 разрядные регистры? Это так или я ошибаюсь? |
|||
|
||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
Не ошибаешься. Только чтобы работать с 64 разрядными регистрами, нужна поддерживающая их операционка :( И вообще народ серьёзно спорит о том, нужна ли на десктопе 64 разрядность. Бывают мнения, что это не есть гут.
Однако если только учишься - сначала классический 32 разрядный ассемблер освоить нужно. |
|||
|
||||
| try_to_get |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 426 Регистрация: 19.3.2007 Где: Россия Репутация: нет Всего: 2 |
Понятно!
Добавлено через 6 минут и 6 секунд Shaggie, спасибо за помощь! Я думаю, вопрос решен и тему можно закрыть. |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |