Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Самая большая legacy |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
Fe-Restorator |
Сообщение отправлено: 16 марта 2013 22:46
Ну, в щелеронах регистры EAX, а не просто AX, как в твоей проге, и при вызове "полрегистра" всякий раз срабатывает автообнуление старших битов, что есмь опция/фича компилятора... А ежли не быто перекомпиляции под щелерон - то отбрасывание старших битов при вызове биос-функций, те-ж |
Сейчас на форуме |
User 0
Junior Member
Откуда: Moscow Всего сообщений: 112 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 дек. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 22:50 Сообщение отредактировано: 16 марта 2013 23:33
Fe-Restorator написал: Это не так. При обращении к AX в любом режиме старшее слово EAX остается неприкосновенным (как и старший байт AX при обращении к AL). и при вызове "полрегистра" всякий раз срабатывает автообнуление старших битов, что есмь опция/фича компилятора |
La Forge
Advanced Member
Lt. Cmdr. Откуда: Рязань Всего сообщений: 3248 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 нояб. 2012 |
Fe-Restorator учите матчась. Регистры EAX. EBX и т.д. появились в 386-м. И пень и селерон и вообще любой 32-х разрядный проц их содержит |
User 0
Junior Member
Откуда: Moscow Всего сообщений: 112 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 дек. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 23:33 Сообщение отредактировано: 17 марта 2013 8:59
La Forge, спорим, что не любой 32-разрядный . У меня есть ARM, но в нем нет EAX. По поводу матчасти: компьютеры и программы к ним стали настолько сложны, что невозможно быть компетентным во всех областях, как 30 лет назад. |
La Forge
Advanced Member
Lt. Cmdr. Откуда: Рязань Всего сообщений: 3248 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 нояб. 2012 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 23:51 Сообщение отредактировано: 16 марта 2013 23:54
АРМ это не процы, а так,выдри...ки. Паразитирующая архитектура живущая по принципу "у кого бы чего содрать?". И пусть сейчас их много...ну так жуков колорадских тоже много. И это временно. (я не про жуков ) Тут я только ЗА Только бы не смешивать в ходе диалога предположения и догадки с фактами |
Fe-Restorator |
NEW! Сообщение отправлено: 17 марта 2013 0:10 Сообщение отредактировано: 17 марта 2013 0:43
User 0 написал: Fe-Restorator написал: Это не так. При обращении к AX в любом режиме старшее слово EAX остается неприкосновенны Читай внимательнее: компилятора, а не проца! Проц тупой, автоматически почти ничего не умеет в плане подмены кода! Однако, на обнуление тратятся такты, например: XOR EAX,EAX, MOV EAX,1... Причём, сперва нужно привести конструкцию MOV AL,2 к виду MOV EAX,0002h!!! автообнуление старших битов, что есмь опция/фича компилятора... ЗЫ. Все мы, хором, отклонились от темы. ТС вопрошал, будет-ли код отличаться, и правильный ответ - будет, однозначно. Даже при оптимизации "под старый проц". Ибо по конструкции MOV EAX,0002h трудно определить, адресуется весь AX или только его половинка, AL/AH!!! Более того, компилятор уже заточен оперировать половинками EAX, т.е. целыми регистрами 8086, без деления на их половинки, и на 8088 такой код неоперабелен, на 60% минимум. Иными словами, у современных процов давно-уж нет "наследия 8086", в том виде, как сие утверждал ТС. Говорить, что i7 строго следует "архитектуре и принципам 8086" - неверно, принципиально! Современные процы поддерживают программирование "в стиле х8086", ценою потери 97% производительности всего компа. La Forge написал: Сделай сие смостоятельно, ОК? Листинг, приведённый ТС вообще EAX не содержит, об чём пляшет весь мой пост. Запроси его у ТС, зря он спрятал листинг под "требование через ЛС". Fe-Restorator учите матчась. И впредь, знай, где звон, прежде, чем его услышишь. |
Сейчас на форуме |
La Forge
Advanced Member
Lt. Cmdr. Откуда: Рязань Всего сообщений: 3248 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 нояб. 2012 |
Автор, текст проги в студию pls. Fe-Restorator, повежливее pls. |
DrPass
Advanced Member
Откуда: Донецк Всего сообщений: 3566 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 апр. 2005 |
Fe-Restorator написал: Компилятор ничего не обнуляет. А ассемблер - тем более. Если в тексте программы написано MOV AL, 2, процессору будет скормлено именно MOV AL, 2, а не MOV EAX,0002h. Процессор сам разберется, что с этим сделать. Читай внимательнее: компилятора, а не проца! Проц тупой, автоматически почти ничего не умеет в плане подмены кода! Однако, на обнуление тратятся такты, например: XOR EAX,EAX, MOV EAX,1... Причём, сперва нужно привести конструкцию MOV AL,2 к виду MOV EAX,0002h!!! Fe-Restorator написал: Операбелен на 100%. Код 8088 оперирует такими же 16-битными "половинками EAX", как и 8086. Он не зря вышел на год позже 8086, Интел этот год потратила на разработку контроллера шины 8088, который при обработке команд с 16-битными операндами делает два цикла обращения к памяти, вытаскивая оба байта и "склеивая" их в регистре в одно целое перед операцией, дабы программист не задумывался о том, что по факту работает с 8-битной машинкой. Более того, компилятор уже заточен оперировать половинками EAX, т.е. целыми регистрами 8086, без деления на их половинки, и на 8088 такой код неоперабелен, на 60% минимум Fe-Restorator написал: Чесслово, это ты тоже сам так домыслил, да? Или тогда уже напиши, где прочитал - я эту статью прокритикую Говорить, что i7 строго следует "архитектуре и принципам 8086" - неверно, принципиально! Современные процы поддерживают программирование "в стиле х8086", ценою потери 97% производительности всего компа. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Мне кажется, что Fe-Restorator чего-то не то курит. core i7 обычный представитель x86, и на нем спокойно запускается MS-DOS, потому что у него, как и у любого x86, есть Real Mode. И работает он в нем нативно, исполняя нативный 8086 код. Не спорю, вполне возможно в самом камне есть какие-то аппаратно-програмные прослойки, но это для нас не важно в принципе, так как он работает с нативным 8086 кодом на номинальной заявленной частоте. Вот если бы он выполнял 8086 код медленнее, чем его максимальная скорость - тогда да, можно было бы говорить что что-то здесь не так. А так - самый обычный x86. Что 386, что i7 - для real mode разницы нет ваще никакой. |
User 0
Junior Member
Откуда: Moscow Всего сообщений: 112 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 дек. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 марта 2013 9:19 Сообщение отредактировано: 17 марта 2013 23:20 Мы тут все время отклоняемся от темы. Программа лишь иллюстрировала разницу в скорости цикла на разных процессорах, это не имеет отношения к основному вопросу, который благодаря DrPass я считаю выясненным. |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
Полигон-2 » Технический флейм » Самая большая legacy |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |