На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
  
> gcc+asm
    Тут такой вопросик возник: как при компиляции программы на C (компилятор gcc) использовать в ней ассемблерные вставки? т.е. к примеру в Visual C++ __asm ? :P
      Ну так что? Я почти разобрался: __asm__ ("nop") - работает, но к примеру __asm__ ("mov ax,bx") не работает, что за хрень. ???
        и как раз синтаксис команд "nop" совапдает с Intel'овским,  а вот mov ax, bx - нет:)
          man gas поможет ;)
          вместо mov ax,bx следует писать movw \%bx,\%ax
          Вкратце - к каждой интеловской мнемонике команды добавляем размер операндов (b, w, l; в случае с movz будет соответственно два размера), источник и назначение меняем местами, спереди к каждому регистру приписываем знак процента, к каждому числовому значению - знак доллара, адреса пишем просто числами или меткой (без всяких квадратных скобок). В общем, кому надо, ищите в инете мануалы, я так всё сразу и не упомню. Кстати, есть также проги для преобразования оттуда и туда.
          Сообщение отредактировано: Kernel_Panic -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0186 ]   [ 15 queries used ]   [ Generated: 11.05.24, 19:13 GMT ]