![]() |
Не жлобитесь мужики и леди :)
Вот кто может мне подарить сорс
writeln('....'); printf('.....\n'); cout<<"......\n'; или как вы это называете, вывод символа на экран в ассемблее А то мне у BIOS приходится запрашивать, для ПиСи всё ок, но вот для лифта или стиральной машины не катит, БИОСА нету :rolleyes: Там много будет страниц 10-15 кода, т что не засоряйте форум, а киньте на мыло плиз ЛЮДИ!!! ЁЁЁЁОООО drepenkine@hotmail.com Thx in advance |
Людиииииииииии!!
Что никто в ассмблее не програмит??? Мне же срочно.... Плиз кто-нить. Ну ведь у каждого програмера есть библиотека процедур :( ЗЫ В ассемблее програмить надо, тк С++ statement int a=0; при переводе в ассемблей будет такая фигня MOV AX,0 что потребует 8-20 system clock ticks Если вы поправите это на XOR AX,AX в ассемблее- всего 4 system clock ticks ;) Вся математика Ну эт ужеотступления от темы ЛЮДИ надо процедуры записи символа на экран, через биос плохо и долго :eek: |
пиши напрямую в видеопамять.
|
Ты прав, но это Я и прошу!!! ;)
Там страниц 10-15 будет :( Я написал с интераптами запутался , чуть вин не накрыл. Получилось, что в одном месте я отменил интерапты IE,0 А видно не в том месте это получилось + проблема когда я вызывал Subreturn Call & Return програма по какой то причине писала обратный адрес в стак, а другая приходила и POP SP и гудбай return address. :( Вообщем запуталсия Вот код напрямую в видео память и хочу. И чтобы процедура работала на любом Интеловском ЦП, будь то ЛИФТ, будь то, СТИРАЛЬНАЯ МАШИНА :cool: |
А ты скомпили тот же
printf('.....\n'); А потом дисасембль и сотри (в смысле смотри :) ) что и где твои функции наделали. |
Еще, если не получиться, выкладывай зипнутый код.
|
Вложений: 1
Вот... АСМ(а) программы "Хелло Ворлд". С код был тщательно перегнан через GCC 4 Win и обработан DASM-мом.
|
дизасм явно был от unix'а и masm'у с tasm'ом он мало поможет...
|
Ну хоть посмотрем что там к чему!!
Сенкс |
Блин вот это жестокая вещь ели палы
ЗЫ круто уножает на 2 SHL AX :cool: нет чтобы по человечески, ему шифт лефт надо ;) |
так шифтом же быстрее умножается. :)
я вот тут подумал: не получится чтобы один код работал и для стиральной машины и для компа. Тебе никто напрямую не даст в видеопамять писать, т.к. до вызова соотв. прерывания нет разметки на страницы.. Хм. Или я торможу ? И вообще, я помню, что мне без вызова прерывания выдавал ошибку при попытке записи в видеопамять. Это еще под Дос. Под Винды думаю еще хуже, он ведь все вектора прерываний перехватывает, и ничего личнего не позволяет. Блин, уже года 4 ничего на асме не писал. :( |
2Countach: О стиральной машине. Если вдруг тебе надо отображения на LCD-индикаторе - могу прислать пример, надавно писал. Правда там для PC, управление через LPT-порт.
|
Стиралка эт так фигня. Если честно я не хакер и не буду им, вот просто тут в Forum Hotel у лифта сериал, или LPT port на улице, а лифт управляется Intel CPUX86
I think 80486. Помоему не пентиум :) Ну эт не важно. :p Нажимаешь вниз, а он наверх поехал. Смешно будет. Надо б насчет Hilton проверить. С виндом есть хороший прикол тк нулевой адрес бут сектора начинается с интерапт вектора. Те ты знаешь где эта фигня и че поправить надо :D Асмблей распространяется на любой ЦП под который пишется вся фигня. Стиральная машина не отличается от компа если стоит ЦП одной марки. А вот БИОС тока в компе есть поэтому неважно какой ЦП обращение к БИОСу и гудбай прикол со стиралкой. :rolleyes: :cool: |
ЗЫ самое главное
printf('Hi!\n'); Эт мне для компа, но на прямую, эт Д/З по програмированию ;) |
ЗЫЫЫЫЫЫЫЫ
2 whiteagle Да такое уножение гораздо быстрей, НО не читабельно как-то Это примерно что я выше написал AX <- 0 можно сделать MOV AX,0 а можно XOR AX,AX второе быстрей, тк нет обращения к памяти, но нечитабельно как-то ; asks for comment :cool: |
хм. я вот тут посмотрел тот сурс и понял, что совершенно современный асм не знаю. :(
почему например xor иногда бинарный, а иногда унарный ? если там разные инструкции, то почему называются одинаково ? если это все-таки бинарный, то вторым операндом должен быть какой-нить регистр, а какой ? если унарный.. хм. на кой хрен нужен унарный хор ? И так со всеми бинарными операциями. ЗЫ: дизасм явно юниховый. ЗЫЫ: к черту асм. С# рулит. :) :) |
2whiteagle
Не уверен, но помоему все проще. Унарный когда оба операнда одинаковые. Это как XOR AX,AX - XOR AX Чтобы два раза не писать. Но я тут сам не сильно зверь сидю въезжаю. |
хм. ну ладно, ХОР АХ,АХ еще можно понять, обнуление. А вот на кой тогда ОР АХ,АХ==АХ ? или АНД АХ,АХ==АХ ? странно как-то.
не, думаю там все-таки вторым операндом регистр идет. хотя черт его знает... для меня сейчас рулит .NET . Вот енто супер... |
Слушай действительно странно как то. Не знаю, мне тоже С++ рулит больше.
А вот то, что ты написал С# (СИ ХАШ)?? Это тот язык, что обещали, или С++ и ты опечатался?? :) |
это СИ-шарп. Новый язык от .NET .. Только я теперь вообще перестал понимать разницу между современной Явой и С++. C# и J# - практически одно и то же. Абсолютная интеграция приложения в интернет. Я еще пока только разбираюсь, но уже тащусь...
|
А сколько мне времени понадобится на адоптацию к нему??
Я знаю С++, Javascript (but no JAVA :( ), LISP and some others like Pascal. Интеграция под интернет это как? Типа апплетов?? неплоха тада |
Насколько я понимаю, .NET, как и Ява ( в применении к апплетам ) является JIT ( just-in-time ) компилятором. То есть "на лету" генерирует платформонезависимый исполняемый код. Наверное, бакалаврскую буду по этому делу писать :) .
--- По поводу xor. Вас, countach, наверное, программированию учат. А вот нас перед всем этим хорошо имели всякими там схемотехниками и микроконтроллерами. Поэтому умножения на 2 в степени сдвигами, обнуление сложением по модулю 2 смотрится вполне естественно, привычно и логично :) :) :) |
:)
ну скажем я учусь на Computer Science and not Computer Engeneering У меня просто интерес некоторый есть к инженерии Дальше, ну я не скажу что не понимаю или не узнаю SHL AX ; mul by two XOR AX,AX ; Ax to zero Меня классно научили этому, может не так как вас, но ты не забывай я не инженер, далеко не :) но только в дет. сад не отправляй плиз :) Я только говорил, что не очень логично когда смотришь на это Для меня нормал тоже, но все равно MOV AX,0 выглядит логичнее, не так ли? Чердак на днях так потек, что на математике решал дифференциальное уравнение, в конце там сократил все получается 1+1 ну я автоматом и написал НОЛЬ, вот только 1 в уме забыл :p |
mov ax,0 и xor ax,ax уже давно занимают по одному такту (покрайней мере так твердит VTune). Но код mov ax,0 в памяти занимает на пару байтиков больше, потому реально он чуть медленнее считывается, декодируется и т.п.
про Itanium - черт их знает, сильно не разбирался. Там регистров действительно много (128 каждого типа), причем их можно переименовывать, объединять в кольца и стеки...Про предикаты тем более не понятно |
2SSJ
Наверное просто современные ассеблеры сами немного правят код када натыкаются на MOV AX,0. Так может быть??? Или с чего так вдруг они почти сравнялись в скорости?? :confused: |
Цитата:
|
Пожалуй, что так. Толко вот зачем лишняя команда. Почему не проверить АХ непосредственно после проведения операции с ним! :) ;)
2Countach: А мы еще в иституте знаешь каким гимором страдаем? Ассемблером для интеловского микроконтроллера, который включает в себя проц, память, LCD-дисплей, микрофон, клавиатуру, динамик. Например, надо запрограммировать синтезатор ( играешь на клаве, слушаешь на диамике ). Там асм чем-то похож, но лишь чуть-чуть, а еще другая организация памяти. Такая, блин, путаница из-за этого! :) :) :) |
2RF Mitrio
Слава богу меня этим не грузят, слава богу :p Вот взял UNIX книги, теперь уже по специальности. Курсовую по CPU scheduling UNIX O/S && WIN NT сравниваю. Кстати кто-нить знает как в Винде алогоритм передачи инструкрий из ready queue -> CPU прохдит?? Что-то там такое? трудное. ЗЫ Помоему проще вин зип в паскале запрограмить :p |
2Дениска
Работаеть!! Но как-то тупо, хотя я и не инженер. И помоему AND больше всех из логических операций время хочет. В нано сек кнешно. Или что-то в этом роде :) |
| Часовой пояс GMT +4, время: 13:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.