Поиск:

Ответ в темуСоздание новой темы Создание опроса
> микрокод, Hello world! 
:(
    Опции темы
man2002ua
Дата 20.11.2002, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это вопрос из другого форума - там правда обсуждение не очень, решил перенести его сюда (не сочтите за хамство, просто очень интересно)

задача - вывести сообщение "Hello world!" уместив код и данные в 16 байтах программы.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
AntonSaburov
Дата 20.11.2002, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Ну если на старом DOS, то вообщем то где-то так и получится.
До конца все не помню, но если память не изменяет, то через 21h (функция 9)прерывание можно вывести строку, начало которой находится в регистрах. Только надо для ассемблера указать, что это не .exe, а .com
ORG 100H - хотя могу здесь наврать. На ходу не вспомнить. Вообщем, что-то в этом роде.
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 20.11.2002, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



повторяю - длина строки 13 байт
остается 3... прерывание CD 21 и retn = 3 байта


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
AntonSaburov
Дата 20.11.2002, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Ты хочешь код получить ?
Ну не помню я уже так хорошо асм. Может и правда для моего случая надо чуть больше. Неужели это так волнует ?
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 20.11.2002, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



код хочется увидеть. Раз сказано, что можно уложиться в 16 байт - мне например очень интересно как.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
AntonSaburov
Дата 20.11.2002, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Увы, работать надо, да и на машине сейчас кроме JAVA нет ничего. Попробуй сам. Если получится - напиши.
PM MAIL WWW ICQ   Вверх
Vit
Дата 20.11.2002, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Можно уместить в 12 байтов - создаёшь BAT файл, пишешь в него "Hello world!", на экран эта запись при запуске попадёт, что и требуется...




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 20.11.2002, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Насколько я понял вопрос того форума - bat файл нельзя использовать. Как и командную строку (т.е. программа не исп. параметры ком. строки).
---
и echo тоже  :)


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Baa
Дата 20.11.2002, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А почему в теме С++? На сях написать надо чтоли? дык там стаб огромный.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Klin
Дата 20.11.2002, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Создай htm, уместишся в 12 байт!


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
man2002ua
Дата 20.11.2002, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну извините! Перенесите топик в ассемблер, пожалуйста.
Задача состоит в написании *.com файла.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Sail Destiny
Дата 16.2.2003, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я над этой же задачкой 4 день думаю.
Еще на Сайте Владислава Пирогова некий Anshik сказал, что может в 16 байт.
Наверно это чью-то злая шутка.
Можно попробовать самомодифицирующийся код (я ничего не придумал).
Может быть надо часть строки использовать как код, но сторка дизассемблируется в бессмысленный. Или подобрать float-число в 4 байта, которое при сохранении с помощью fbstp (двоично-десятичное 10 байт) представляло бы часть (10(!) символов) этой строки (или полезного кода). Но строка содержит байты, не используемые в 2-10 числах (e.g. "l"("эль")-6CH).
Кажется интересный вопрос smile.gif
PM MAIL   Вверх
Baa
Дата 17.2.2003, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



echo Hello world!
помойму токо так... где-то я видел прогу, которая так выводила, но там грили, что надо как-то tasm.exe переправить, чтобы она её скопилила... получается ооочень мелкая...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Sail Destiny
Дата 5.3.2003, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Почти втему...
А не может ли вообще произойти, напрмер, следующее: Идет группа 2 байтных инструкций, после них стоит jmp назад на нечетное число байт - в результате попадаем вразрез какой-то инструкции, получаем другую последовательность инструкций, и вдруг она окажется полезной? Нехай удастся сжать код почти в 2 раза.
PM MAIL   Вверх
Baa
Дата 5.3.2003, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Sail Destiny, не катит... сам jmp занимает место... да и ничего там полезного не выжмешь...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Shur
Дата 5.3.2003, 16:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня была другая идея - запихнуть туда генератор псевдо-случайной последовательности, который "сгенерит" последовательно эти буковки.
  Вверх
Sext
Дата 11.3.2003, 08:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











org 100h

begin:
mov ah, 09
mov dx, 81h
int 21h
ret
end begin

8 байт. Выводит командную строку...

запускать

A.COM hello world!$

Бакс только обязательно ставить надо...

В принципе можно прогой бакс поставить, еще уложится в 16... smile.gif
  Вверх
stab
Дата 11.3.2003, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



to Sext ну ты крут smile.gif только вот как это с условиями задачи стыкуется? smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
man2002ua
Дата 20.3.2003, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



командную строку использовать нельзя smile.gif


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
leniviy
Дата 20.3.2003, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а имя файла из PSP можно?
PM MAIL   Вверх
man2002ua
Дата 20.3.2003, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



предлагалось преподу - низзя никаких Hello_world.com


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
stab
Дата 21.3.2003, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



man2002ua предлагаю тебе написать исчерпывающее условие задачи, а то получается так -- кто бы что ни сделал все а итоге низя smile.gif не правильно это...


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
man2002ua
Дата 21.3.2003, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Первые мои сообщения -
Цитата
Насколько я понял вопрос того форума - bat файл нельзя использовать. Как и командную строку (т.е. программа не исп. параметры ком. строки).

+ имя файла не использовать - я на том форуме это первым делом предложил


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
NightGoblin
Дата 12.4.2003, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Хм.... а код для интеловских процессоров? smile.gif


--------------------
Kernel panic: /dev/null overflow!
GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y?
B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 14.4.2003, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Давай, давай smile.gif


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

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

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


 




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


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

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