![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| kurlyak |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
Балуюсь графикой на Borland C 3.1 - вобщим ностальгия. Пишу вставку на асемблере в программе- программа то не комипилируеться, то вываливаеться, пробывал разные варианты. Суть в том, что мне в ассемблерную вставку надо передть указатель на массив. Вот код:
пробывал mov ax, offset pZBuffer; mov ax, [bp+8]; и прочее- ничего не работает. Что делать. Подскажите. |
|||
|
||||
| borisbn |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
точно не помню, но, по-моему, там какой-то символ нужно было вставлять. типа
или
не. неправильно. вот тут подсмотрел. там так делают
и вот такое ещё там же увидел
Это сообщение отредактировал(а) borisbn - 6.3.2011, 14:30 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||
|
|||||||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
push word ptr pZBuffer
pop es -------------------- |
|||
|
||||
| kurlyak |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
Спасибо всем - но то что вы мне предложили я пробывал- прога вобще виснет, и Борланд среда виснет. Капец вобщим. Спасибо- но не подходит.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| kurlyak |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
Пишет что ошибка синтаксиса- не может скомпилировать (это как я делал). А как вы предложили вобще черный экран виснет прога. Должен рисоваться 3Д куб на экране. Когда при помощи цикла for () заполняю этот участок памяти pZBuffer - все рабоатет. Крутиться куб на экране у меня как и должно быть. Но как только пользуюсь asm то сразу тю- тю.
|
|||
|
||||
| миг |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 15.9.2008 Репутация: нет Всего: 1 |
может все таки mov eax, ... ?
--------------------
Oaks may fall when reeds stand the storm. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
еах 32х битный, а всего лишь 16ти битный.. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Зачем вы обнуляете di? di должен содержать ofset вашего массива.
Почему вы пишите байты, когда массив интов? В учётом вышеперечисленного, попробуйте что-то типа этого:
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
а разве не надо сохранять и восстанавливать содержимое сегментных регистров?
|
|||
|
||||
| ValeryLaptev |
|
|||
|
Препод Профиль Группа: Участник Сообщений: 41 Регистрация: 19.8.2010 Где: Астрахань Репутация: нет Всего: 1 |
Все - бред.
Так как указатель передается в функцию как парамерт, надо его доставать из стека. Кадр стека базируется по регистру bp. В документации по ТурбоАссемблеру есть подробная информация, как доставать из стека параметры через bp. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Напишите просто
Добавлено через 1 минуту и 2 секунды Но у вас в asm вообще что то не то написано. У вас модель памяти какая? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |