Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hello, World! Turbo C++ 3.0 vs fasm 1.60 
:(
    Опции темы
Graf Zeppelin
Дата 12.5.2005, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Borland Turbo C++ 3.0
Код

#include <stdio.h>
void main(void)
{
    printf("Hello, World!");
}

Размер: 8667 байтов

fasm 1.60
Код

org 100h

mov ah,9
mov dx,text
int 21h
mov ax,4c00h
int 21h
text:
db 'Hello, World!',24h

Размер: 26 байтов

smile
*ушел записываться в фаны fasm'а*
--------------------
Jah, help me!
PM MAIL   Вверх
Payne
Дата 12.5.2005, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


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

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



Лучше, конечно, сделать вместо
Код

mov ax,4c00h
int 21h

следующий кусок:
Код

mov ah,0
int 16h
int 20h

иначе ты даже не увидишь своей надписи 'Hello, World!' smile .

Цитата(Graf @ 12.5.2005, 12:55)
Размер: 26 байтов

Ведь это одна из черт, которые делают Ассемблер самым эффективным языком программирования! Да, и подобный размер присущ не только файлам, скомпилированным в FASM, так что можешь смело заявить, что ты ушел записываться в фаны Асма вообще smile .
PM MAIL WWW ICQ Skype   Вверх
oleg1973
Дата 12.5.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



prinimaem v nash fanclub )))


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


Опытный
**


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

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



Graf Zeppelin
Ясен пень - ты включил весь модуль stdio.h, он-то и весит так много smile
PM MAIL ICQ   Вверх
Chingachguk
Дата 19.5.2005, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

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



WolfON

Тогда выведи "Hello" без *.h. Даже с asm {..} будет больше.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Guest
Дата 25.7.2005, 21:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приведите пожалйуста пример самой простой программы на MASM выводящая чё-нить. И скажите чем fasm лучше MASM'а ? Вроде все кодят на MASM'е а на fasm'е почти никто ! Тем более говорят в MASM намного больше функций /INCLUDE/ ? smile
  Вверх
saneea
Дата 29.7.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Да, действительно. Напишите пожалста код проги "Hello,Word" на ассемблере чтоб просто откомпилить на масме... а то я не могу начать никак... помогити-и-и-и-и...
заранее спасибо. smile

Это сообщение отредактировал(а) saneea - 29.7.2005, 19:26
PM MAIL   Вверх
oleg1973
Дата 30.7.2005, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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





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


Новичок



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

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



Цитата(Graf @ 12.5.2005, 12:55)
Borland Turbo C++ 3.0
Код

#include <stdio.h>
void main(void)
{
    printf("Hello, World!");
}

Размер: 8667 байтов

fasm 1.60
Код

org 100h

mov ah,9
mov dx,text
int 21h
mov ax,4c00h
int 21h
text:
db 'Hello, World!',24h

Размер: 26 байтов

smile
*ушел записываться в фаны fasm'а*

Код
cseg    segment
org    100h
main:
    mov    ah, 9
    mov    dx, offset stringer
    int    21h
    int    20h
    stringer db 'Hello, World!$'

    cseg ends
end main

23 байта весит. Кто меньше? smile
Компилил TASM'ом.
PM MAIL   Вверх
oleg1973
Дата 18.8.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



заменив int 0x20 на RET получим 22 байта


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


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



менее 22 байт не получится (без самой строки - 8 байт)...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
CD20
Дата 19.8.2005, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Давайте народ! Может ещё чег придумаем?
PM MAIL   Вверх
Mayk
Дата 19.8.2005, 05:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(Akina @ 18.8.2005, 18:40)
(без самой строки - 8 байт)

Ужать 8 байт в общем случае невозможно.
Ужать 8 байт так, чтобы они еще и сохранили общую функциональность невозможно вдвойне.
Эти 8 байт являются минимумом.
3 байта на загрузку адреса строки выкинуть не получится.
1 байт на возврат выкинуть не получится.
4 оставшихся байта выкинуть не получится, так как они однозначно задают ф-цию для вывода(всякие repne movs потребуют гораздо более 4ех байт).

Таким образом без дополнительного кода эти 8 байт сократить нельзя.
А с дополнительным можно сократить до одного - int3.
(чей обработчик может выглядеть, например, вот так:
1) вывести на экран hello world
2) установить обработчик 20hго прерывание на третье прерывание
3) изменить адрес возврата на -1
4) iret
5) -- уже не в обработчике --
5) int3 делает то же самое, что и int 20h
)

Это сообщение отредактировал(а) Mayk - 19.8.2005, 05:01


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Akina
Дата 19.8.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



а обработчик что - не код?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 19.8.2005, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(Akina @ 19.8.2005, 12:20)
а обработчик что - не код?

обработчик - это не код приложения smile это кот-резидент. Он из другого приложения(которое занимает ну всяко больше 8 байт)
а один байт - основной код hello.com'а.



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

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

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


 




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


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

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