Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=7)
-   -   Не жлобитесь мужики и леди :) (http://www.flasher.ru/forum/showthread.php?t=21899)

Countach 25.10.2001 01:05

Не жлобитесь мужики и леди :)
 
Вот кто может мне подарить сорс
writeln('....');
printf('.....\n');
cout<<"......\n';
или как вы это называете, вывод символа на экран в ассемблее

А то мне у BIOS приходится запрашивать, для ПиСи всё ок, но вот для лифта или стиральной машины не катит, БИОСА нету :rolleyes:

Там много будет страниц 10-15 кода, т что не засоряйте форум, а киньте на мыло плиз ЛЮДИ!!! ЁЁЁЁОООО
drepenkine@hotmail.com

Thx in advance

Countach 25.10.2001 17:47

Людиииииииииии!!
Что никто в ассмблее не програмит???
Мне же срочно.... Плиз кто-нить.
Ну ведь у каждого програмера есть библиотека процедур :(

ЗЫ В ассемблее програмить надо, тк
С++ statement
int a=0;
при переводе в ассемблей будет такая фигня
MOV AX,0
что потребует 8-20 system clock ticks
Если вы поправите это на
XOR AX,AX
в ассемблее- всего 4 system clock ticks ;)
Вся математика

Ну эт ужеотступления от темы
ЛЮДИ
надо процедуры записи символа на экран, через биос плохо и долго :eek:

whiteagle 25.10.2001 22:29

пиши напрямую в видеопамять.

Countach 25.10.2001 23:53

Ты прав, но это Я и прошу!!! ;)
Там страниц 10-15 будет :(
Я написал с интераптами запутался , чуть вин не накрыл. Получилось, что в одном месте я отменил интерапты
IE,0
А видно не в том месте это получилось + проблема когда я вызывал Subreturn Call & Return програма по какой то причине писала обратный адрес в стак, а другая приходила и POP SP и гудбай return address. :(
Вообщем запуталсия

Вот код напрямую в видео память и хочу. И чтобы процедура работала на любом Интеловском ЦП, будь то ЛИФТ, будь то, СТИРАЛЬНАЯ МАШИНА :cool:

kompadre 26.10.2001 03:24

А ты скомпили тот же

printf('.....\n');

А потом дисасембль и сотри (в смысле смотри :) ) что и где твои функции наделали.

kompadre 26.10.2001 03:26

Еще, если не получиться, выкладывай зипнутый код.

kompadre 26.10.2001 04:15

Вложений: 1
Вот... АСМ(а) программы "Хелло Ворлд". С код был тщательно перегнан через GCC 4 Win и обработан DASM-мом.

ssj 26.10.2001 05:07

дизасм явно был от unix'а и masm'у с tasm'ом он мало поможет...

Countach 26.10.2001 15:20

Ну хоть посмотрем что там к чему!!
Сенкс

Countach 26.10.2001 15:24

Блин вот это жестокая вещь ели палы

ЗЫ круто уножает на 2
SHL AX
:cool:
нет чтобы по человечески, ему шифт лефт надо ;)

whiteagle 26.10.2001 22:04

так шифтом же быстрее умножается. :)
я вот тут подумал: не получится чтобы один код работал и для стиральной машины и для компа. Тебе никто напрямую не даст в видеопамять писать, т.к. до вызова соотв. прерывания нет разметки на страницы.. Хм. Или я торможу ?
И вообще, я помню, что мне без вызова прерывания выдавал ошибку при попытке записи в видеопамять. Это еще под Дос. Под Винды думаю еще хуже, он ведь все вектора прерываний перехватывает, и ничего личнего не позволяет.

Блин, уже года 4 ничего на асме не писал. :(

RFMitrio 26.10.2001 22:22

2Countach: О стиральной машине. Если вдруг тебе надо отображения на LCD-индикаторе - могу прислать пример, надавно писал. Правда там для PC, управление через LPT-порт.

Countach 26.10.2001 22:32

Стиралка эт так фигня. Если честно я не хакер и не буду им, вот просто тут в Forum Hotel у лифта сериал, или LPT port на улице, а лифт управляется Intel CPUX86
I think 80486. Помоему не пентиум :)
Ну эт не важно. :p Нажимаешь вниз, а он наверх поехал. Смешно будет. Надо б насчет Hilton проверить.

С виндом есть хороший прикол тк нулевой адрес бут сектора начинается с интерапт вектора. Те ты знаешь где эта фигня и че поправить надо :D

Асмблей распространяется на любой ЦП под который пишется вся фигня. Стиральная машина не отличается от компа если стоит ЦП одной марки. А вот БИОС тока в компе есть поэтому неважно какой ЦП обращение к БИОСу и гудбай прикол со стиралкой. :rolleyes: :cool:

Countach 26.10.2001 22:35

ЗЫ самое главное
printf('Hi!\n');
Эт мне для компа, но на прямую, эт Д/З по програмированию ;)

Countach 26.10.2001 22:38

ЗЫЫЫЫЫЫЫЫ
2 whiteagle
Да такое уножение гораздо быстрей, НО не читабельно как-то

Это примерно что я выше написал
AX <- 0
можно сделать
MOV AX,0
а можно
XOR AX,AX

второе быстрей, тк нет обращения к памяти, но нечитабельно как-то ; asks for comment :cool:

whiteagle 26.10.2001 22:51

хм. я вот тут посмотрел тот сурс и понял, что совершенно современный асм не знаю. :(
почему например xor иногда бинарный, а иногда унарный ? если там разные инструкции, то почему называются одинаково ? если это все-таки бинарный, то вторым операндом должен быть какой-нить регистр, а какой ? если унарный.. хм. на кой хрен нужен унарный хор ? И так со всеми бинарными операциями.

ЗЫ: дизасм явно юниховый.
ЗЫЫ: к черту асм. С# рулит. :) :)

Countach 26.10.2001 22:57

2whiteagle
Не уверен, но помоему все проще. Унарный когда оба операнда одинаковые. Это как XOR AX,AX - XOR AX
Чтобы два раза не писать. Но я тут сам не сильно зверь сидю въезжаю.

whiteagle 26.10.2001 23:05

хм. ну ладно, ХОР АХ,АХ еще можно понять, обнуление. А вот на кой тогда ОР АХ,АХ==АХ ? или АНД АХ,АХ==АХ ? странно как-то.
не, думаю там все-таки вторым операндом регистр идет. хотя черт его знает...

для меня сейчас рулит .NET . Вот енто супер...

Countach 26.10.2001 23:12

Слушай действительно странно как то. Не знаю, мне тоже С++ рулит больше.

А вот то, что ты написал С# (СИ ХАШ)??
Это тот язык, что обещали, или С++ и ты опечатался?? :)

whiteagle 26.10.2001 23:28

это СИ-шарп. Новый язык от .NET .. Только я теперь вообще перестал понимать разницу между современной Явой и С++. C# и J# - практически одно и то же. Абсолютная интеграция приложения в интернет. Я еще пока только разбираюсь, но уже тащусь...

Countach 27.10.2001 00:59

А сколько мне времени понадобится на адоптацию к нему??
Я знаю С++, Javascript (but no JAVA :( ), LISP and some others like Pascal.

Интеграция под интернет это как? Типа апплетов?? неплоха тада

RFMitrio 27.10.2001 01:08

Насколько я понимаю, .NET, как и Ява ( в применении к апплетам ) является JIT ( just-in-time ) компилятором. То есть "на лету" генерирует платформонезависимый исполняемый код. Наверное, бакалаврскую буду по этому делу писать :) .
---
По поводу xor. Вас, countach, наверное, программированию учат. А вот нас перед всем этим хорошо имели всякими там схемотехниками и микроконтроллерами. Поэтому умножения на 2 в степени сдвигами, обнуление сложением по модулю 2 смотрится вполне естественно, привычно и логично :) :) :)

Countach 27.10.2001 01:21

:)
ну скажем я учусь на Computer Science and not Computer Engeneering
У меня просто интерес некоторый есть к инженерии

Дальше, ну я не скажу что не понимаю или не узнаю
SHL AX ; mul by two
XOR AX,AX ; Ax to zero
Меня классно научили этому, может не так как вас, но ты не забывай я не инженер, далеко не :) но только в дет. сад не отправляй плиз :)
Я только говорил, что не очень логично когда смотришь на это

Для меня нормал тоже, но все равно MOV AX,0 выглядит логичнее, не так ли?
Чердак на днях так потек, что на математике решал дифференциальное уравнение, в конце там сократил все получается 1+1 ну я автоматом и написал НОЛЬ, вот только 1 в уме забыл :p

ssj 27.10.2001 01:43

mov ax,0 и xor ax,ax уже давно занимают по одному такту (покрайней мере так твердит VTune). Но код mov ax,0 в памяти занимает на пару байтиков больше, потому реально он чуть медленнее считывается, декодируется и т.п.

про Itanium - черт их знает, сильно не разбирался. Там регистров действительно много (128 каждого типа), причем их можно переименовывать, объединять в кольца и стеки...Про предикаты тем более не понятно

Alex_nena 28.10.2001 22:15

2SSJ
Наверное просто современные ассеблеры сами немного правят код када натыкаются на MOV AX,0. Так может быть???
Или с чего так вдруг они почти сравнялись в скорости?? :confused:

Дениска 28.10.2001 22:32

Цитата:

Оригинал написал(а) whiteagle
хм. ну ладно, ХОР АХ,АХ еще можно понять, обнуление. А вот на кой тогда ОР АХ,АХ==АХ ? или АНД АХ,АХ==АХ ? странно как-то.
не, думаю там все-таки вторым операндом регистр идет. хотя черт его знает...

для меня сейчас рулит .NET . Вот енто супер...

хех... а как ты проверишь равен AX у тебя нулю или нет? именно так. делаешь AND и у тебя флажки выставляются нужные %)

RFMitrio 29.10.2001 02:23

Пожалуй, что так. Толко вот зачем лишняя команда. Почему не проверить АХ непосредственно после проведения операции с ним! :) ;)
2Countach: А мы еще в иституте знаешь каким гимором страдаем? Ассемблером для интеловского микроконтроллера, который включает в себя проц, память, LCD-дисплей, микрофон, клавиатуру, динамик. Например, надо запрограммировать синтезатор ( играешь на клаве, слушаешь на диамике ). Там асм чем-то похож, но лишь чуть-чуть, а еще другая организация памяти. Такая, блин, путаница из-за этого! :) :) :)

Countach 29.10.2001 17:20

2RF Mitrio
Слава богу меня этим не грузят, слава богу :p
Вот взял UNIX книги, теперь уже по специальности. Курсовую по CPU scheduling UNIX O/S && WIN NT сравниваю.
Кстати кто-нить знает как в Винде алогоритм передачи инструкрий из ready queue -> CPU прохдит??
Что-то там такое? трудное.
ЗЫ
Помоему проще вин зип в паскале запрограмить :p

Countach 29.10.2001 17:25

2Дениска
Работаеть!! Но как-то тупо, хотя я и не инженер.
И помоему AND больше всех из логических операций время хочет. В нано сек кнешно.
Или что-то в этом роде :)


Часовой пояс GMT +4, время: 13:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.