Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2019, 17:03   #1
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию expected string-literal before (mov)

При компиляции gcc'хой вылазит ошибка:
https://ibb.co/zRXSXwf
Вот код:
https://ibb.co/wzY31GH
как исправить?
nni16 вне форума Ответить с цитированием
Старый 01.07.2019, 17:09   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
http://www.ibiblio.org/gferg/ldp/GCC...bly-HOWTO.html
p51x вне форума Ответить с цитированием
Старый 01.07.2019, 17:13   #3
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию

а можешь просто подсказать что изменить,
ещё там про int ничего не сказанно.
nni16 вне форума Ответить с цитированием
Старый 01.07.2019, 17:16   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

Надо переписать вставку под синтаксис gcc.
p51x вне форума Ответить с цитированием
Старый 01.07.2019, 17:18   #5
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию

Код:
__asm__
	(
	 "movl %al, 02h"
	 "movl %al, 00h"
	 "int %10h"
	 );
но теперь другая ошибка:


C:\Users\1\AppData\Local\Temp\cck81 m2M.s:189: Error: junk `hmovl %al' after expr
ession
C:\Users\1\AppData\Local\Temp\cck81 m2M.s:189: Error: too many memory references
for `mov'
nni16 вне форума Ответить с цитированием
Старый 01.07.2019, 17:21   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

http://www.ibiblio.org/gferg/ldp/GCC...bly-HOWTO.html
Цитата:
If we have more than one instructions, we write one per line in double quotes, and also suffix a ’\n’ and ’\t’ to the instruction.
p51x вне форума Ответить с цитированием
Старый 01.07.2019, 17:24   #7
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию

там не написанно как изменить int 10h
nni16 вне форума Ответить с цитированием
Старый 01.07.2019, 17:26   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

http://www.ibiblio.org/gferg/ldp/GCC...bly-HOWTO.html
Цитата:
Immediate Operand.
AT&T immediate operands are preceded by ’$’. For static "C" variables also prefix a ’$’. In Intel syntax, for hexadecimal constants an ’h’ is suffixed, instead of that, here we prefix ’0x’ to the constant. So, for hexadecimals, we first see a ’$’, then ’0x’ and finally the constants.
И учтите, что если вы не указали переключение, то используется AT&T синтаксис.
p51x вне форума Ответить с цитированием
Старый 01.07.2019, 17:31   #9
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию

Вот ошибка:
C:\Users\1\AppData\Local\Temp\ccgTJ TnE.s:189: Error: bad register name `%almovl
0x00'
вот её код:
Код:
"movl 0x00, %al"
хотя со строкой выше у меня вышло.
nni16 вне форума Ответить с цитированием
Старый 01.07.2019, 17:32   #10
nni16
Пользователь
 
Регистрация: 01.07.2019
Сообщений: 56
По умолчанию

там вместо
"movl 0x00, %al"
"movl 0x02, %al"
nni16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++ Error] Unit1.cpp(25): E2293 ) expected. [C++ Error] Unit1.cpp(25): E2377 If statement missing ). [C++ Error] Unit1.cpp(26): E2293 )expected.дают такие ошибки не могу исправить Zikrulloh Помощь студентам 0 17.12.2017 18:50
Literal operator 220Volt Общие вопросы C/C++ 2 12.10.2013 20:37
ошибка [C++ Error] string.h(5): E2344 Earlier declaration of 'String' Pein95 C++ Builder 2 02.04.2013 21:18
Expected an identifier but string found Maugli-rus Общие вопросы Delphi 3 23.12.2007 20:00