![]() |
|
![]() |
#21 |
Gold Member
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
|
![]()
А вообще с макросами я тоже раньше любил поизголяться. Было время, когда
писал свой макросовый "add-on" для Turbo Assembler, чтобы можно было в про- граммах использовать SSE-инструкции процессора Pentium III, который тогда только-только вышел, 97-й кажись год был, и очень хотелось SSE попробовать. Последний раз редактировалось Paul Kellerman; 17.06.2011 в 12:33. |
![]() |
![]() |
Реклама | |
|
![]() |
#22 | |||
Gold Member
Регистрация: 07.09.2005
Сообщений: 1,326
|
![]()
Вообще-то решений тут я и не ждал (gav просил вопросики).
Но раз пошла такая пьянка. Цитата:
Кстати, это вполне официальный способ рекомендуемый Интелом для очистки конвейера команд. Я так понимаю, что особую команду для этого заводить не стали (для экономии, ага; тем более она бы использовалась крайне редко) - поскольку уже есть побочное действие другой команды, дающее нужный результат. На последнюю часть вопроса Цитата:
![]() Цитата:
На самом деле смысл этого кода в экономии 4 байт. Переменная будет объявлена и затрет программный код, который уже точно не будет нужен к моменту использования переменной. |
|||
![]() |
![]() |
![]() |
#23 |
Silver Member
Регистрация: 03.09.2004
Сообщений: 895
|
![]()
saovu, да, хорошие вопросики. особенно про конвейер команд, возьму на вооружение, вот нечто подобное и нужно
![]() А насчет устного счета, то это скорее против непонятно откуда взявшейся проблемы. Определенный процент студентов каждый год, почему то считает, что в паре mov ax,4c00h int 21h Именно первая команда завершает работу досовской программы. При том, что команда mov - самая популярная в различных примерах. Этот пример достаточно эффективно отрезвляет. |
![]() |
![]() |
![]() |
#24 |
Gold Member
Регистрация: 07.09.2005
Сообщений: 1,326
|
![]() |
![]() |
![]() |
![]() |
#25 |
Киберпанк
Регистрация: 24.04.2009
Сообщений: 10,958
|
![]()
Между делом хотелось бы узнать: для чего нужны вот такие профессиональные видеокарты и почему они так дорого стоят?
|
![]() |
![]() |
![]() |
#26 | ||
Gold Member
Регистрация: 07.09.2005
Сообщений: 1,326
|
![]()
ну там же написано
Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#27 |
Киберпанк
Регистрация: 24.04.2009
Сообщений: 10,958
|
![]() |
![]() |
![]() |
![]() |
#28 |
Gold Member
Регистрация: 07.09.2005
Сообщений: 1,326
|
![]()
Графика это такое дело, что "чем больше, тем лучше" и разумный предел наступит только когда будет достигнута реалистичность (тавтология) реального мира.
gav, да в ответе на вопросик про две метки, я оговорился: смысл кода в экономии 3 байт ! (а не четырёх) Поскольку PavelAR не появляется, то сам же отвечу на последнюю часть вопроса про конвейер. Код очистки конвейера используется строго СРАЗУ ЖЕ после включения защищенного режима процессора потому что в конвейер выбраны команды с адресацией (для тех команд где в качестве операндов - адреса) по правилам реального режима, а переключение в защищенный режим меняет, в том числе, все правила адресации. |
![]() |
![]() |
![]() |
#29 | |
Gold Member
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
|
![]() Цитата:
(если страничная адресация еще включена). JMP в вышеуказанной форме помимо сброса конвейра заставляет еще в CS новый селектор загрузить, насколько помню. Некоторые даже уверены, что сначала появилась винда, графический интерфейс, ворд-эксель, а уж потом специально ради всего этого придумали процессоры x86 ![]() |
|
![]() |
![]() |
![]() |
#30 |
Gold Member
Регистрация: 07.09.2005
Сообщений: 1,326
|
![]()
В этом семестре мне студенты заявили, что задание одной из лабораторок "Написать программу нахождения обратной матрицы ..." совершенно невыполнимо.
Принес (шоб им стыдно стало) показать выполненную мной (в 1995 году и тоже на 2-ом курсе) аналогичную работу, причем еще и с весьма навороченным UI в текстовом режиме (чего в данном случае от них точно не требовалось). Студенты притихли. Работу, правда, всё равно не выполнили. Вот, прилагаю свое творение. |
![]() |
![]() |