![]() |
|
|
![]()
|
|
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Я использую FASM.
Я уже составил в нем программу использующую OpenGL под 32-битный режим. Месяц назад заинтересовался написать какую-нибудь программу в FASM использующую OpenGL под 64-битный режим. Но все попытки до вчерашнего дня оказались неудачей. Вчера я узнал о методе передачи параметров функциям в 64-битном режиме на уровне машинного кода. Метод многим отличается. Первые 4 агрумента, если они целочисленные, передаются через регистры rcx, rdx, r8, r9, если это вещественные, то через регистры xmm0, xmm1, xmm2, xmm3. Последующие опренды передаются через стек. Функция сама за собой не очищает стек. Для каждого операнда в стеке выделяется место кратное 8 байтам, в том числе и для первых 4 операндов в стеке резервируется место, для того чтобы вызываемая функция могла скопировать содержимое регистров в стек. Теперь все работает нормально. Но вопрос. А если, допустим, параметр - вещественное число расширенного формата (10 байт). Как оно передается ? -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| ir4y |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 3.6.2008 Репутация: нет Всего: нет |
а что есть вещественное число расширенного формата?
первый раз такую терминологию слышу если чесно если long double то так
|
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Хорошо. А если два параметра такие: первый - long double, второй - float ?
-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |