Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка ASM кода в MinGW 
V
    Опции темы
jhonyxakep
  Дата 13.6.2009, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Как вставлять ASM код в код программы? asm ("mov ah,2"); не берёт! Матерится на все команды...
_asm(""); & _asm {} то-же не работают :(
PM MAIL ICQ   Вверх
azesmcar
Дата 13.6.2009, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Код

__asm__ ("movl %eax, %ebx");


Код

asm ("movl %eax, %ebx;");


Это сообщение отредактировал(а) azesmcar - 13.6.2009, 12:12
PM   Вверх
jhonyxakep
Дата 13.6.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



; обязательна?
PM MAIL ICQ   Вверх
azesmcar
Дата 13.6.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(jhonyxakep @  13.6.2009,  12:33 Найти цитируемый пост)
; обязательна? 

нет
PM   Вверх
jhonyxakep
Дата 13.6.2009, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



а %?
PM MAIL ICQ   Вверх
andrew_121
Дата 13.6.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(jhonyxakep @  13.6.2009,  12:42 Найти цитируемый пост)
а %?

Да.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
jhonyxakep
Дата 13.6.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Вот ещё проблмеа: при вызове int 21 говорит "suffix apperand invalid for int" 
без вызова, ошибка
PM MAIL ICQ   Вверх
zim22
Дата 13.6.2009, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(jhonyxakep @  13.6.2009,  14:58 Найти цитируемый пост)
Вот ещё проблмеа: при вызове int 21 говорит "suffix apperand invalid for int" 

нет ошибки.
Код

__asm
{ 
  MOV AH,2 
  MOV DL,7 
  INT 21H 
} 



--------------------
PM MAIL   Вверх
andrew_121
Дата 13.6.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



zim22, Простите. Но речь идет о GNU Assembler-е. Синтаксис другой)

Добавлено через 1 минуту и 5 секунд
Цитата(jhonyxakep @  13.6.2009,  14:58 Найти цитируемый пост)
Вот ещё проблмеа: при вызове int 21 говорит "suffix apperand invalid for int" 

Уважаемый. Вы что?!!! smile  Какие прерывания в винде?!!! Это же не DOS!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
zim22
Дата 13.6.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(andrew_121 @  13.6.2009,  15:36 Найти цитируемый пост)
Простите. Но речь идет о GNU Assembler-е. Синтаксис другой)

извините, не досмотрел  smile 


--------------------
PM MAIL   Вверх
azesmcar
Дата 13.6.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



PM   Вверх
andrew_121
Дата 13.6.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



azesmcar, За сцылку -  smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
zim22
Дата 13.6.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(andrew_121 @  13.6.2009,  15:36 Найти цитируемый пост)
 Какие прерывания в винде?!!! Это же не DOS!

ну и что, что не дос?  и под DOS, и под Windows, и под Linux - везде прерывания используются.
насколько я помню - прерывание это всего-навсего вызов функции, параметры которой заранее ложатся в регистры.

Это сообщение отредактировал(а) zim22 - 13.6.2009, 16:32


--------------------
PM MAIL   Вверх
azesmcar
Дата 13.6.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%BD%D0%B8%D0%B5

С прерываниям в виндоуз работает только сам виндоуз, а пользователю предоставляются API функции. В режиме ядра - не уверен. Думаю возможно использование некоторых аппаратных прерываний.

Это сообщение отредактировал(а) azesmcar - 13.6.2009, 16:49
PM   Вверх
zim22
Дата 13.6.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(zim22 @  13.6.2009,  16:31 Найти цитируемый пост)
насколько я помню - прерывание это всего-навсего вызов функции, параметры которой заранее ложатся в регистры.

Цитата(azesmcar @  13.6.2009,  16:39 Найти цитируемый пост)
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%BD%D0%B8%D0%B5

я не понимаю к чему ссылка? вы со мной не согласны, что прерывания можно интерпретировать как вызов функций?

Пример:
Код

mov ah, 9                       ; Номер функции DOS - в AH
mov dx, offset message ; Адрес строки - в DX
int 21h                           ; Вызов системной функции
ret
message db "Hello World!", 0Dh, 0Ah, '$'

Цитата

Команда INT 21h вызывает системную функцию DOS. 
Вызывается функция DOS номер 9 - вывести строку на экран.
Эта функция выводит строку от начала, адрес которого задается в регистрах DS:DX, до первого встречного символа $
При запуске COM-файла регистр DS автоматически загружается сегментным адресом программы, а регистр DX был подготовлен предыщущей командой.


Это сообщение отредактировал(а) zim22 - 13.6.2009, 16:50


--------------------
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.