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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2011, 11:37   #1
EugenK
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 22
По умолчанию Метка в ассемблерной вставке

Как правильно оформить метку в ассемблерной вставке в С программе?
Код:
#include <dos.h>
#include <conio.h>
#include <stdio.h>
void tm_delay (int ticks) {

_asm {
push si;

mov si, ticks;
mov ah, 0;
int 0x1a

mov bx, dx;
add bx, si;

delay_loop:;
int 0x1a
cmp dx, bx;
jne delay_loop;
pop si;
}
}

main () {
getch ();
tm_delay(18*10);
printf("nNNNNN");
return 0;
}
В данном случае выдаёт ошибку связанную с меткой delay_loop.
EugenK вне форума Ответить с цитированием
Старый 12.09.2011, 11:48   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

точку с запятой уберите с метки(асм не С, не требует поидее ; )
и если опять ошибка то текст в студию.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 12.09.2011 в 11:52.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.09.2011, 11:54   #3
EugenK
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 22
По умолчанию

Error ******.cpp 23: Undefined label 'delay_loop'
что с ;, что без неё((
EugenK вне форума Ответить с цитированием
Старый 12.09.2011, 12:31   #4
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Код:
int 0x1a
всегда думал, что в ассемблере надо так:
Код:
int 1ah
f.hump вне форума Ответить с цитированием
Старый 12.09.2011, 12:38   #5
EugenK
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 22
По умолчанию

когда набираю в С, то выделяет красным цветом. Воть( Но дело то не в этом, если есть идеи по поводу метки, то прошу помочь.
EugenK вне форума Ответить с цитированием
Старый 12.09.2011, 12:47   #6
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

А если не обращать внимание на "выделение красным цветом"?
просто в ассеблере не приставок для определенния базы числа, зато есть окончания (h,d,o,b).
f.hump вне форума Ответить с цитированием
Старый 12.09.2011, 12:59   #7
EugenK
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 22
По умолчанию

У меня есть конечные программы работающие в исполнении, которое я показал в примере выше, я не понимаю ваших претензий, я в ассемблере в институте программировал и косвенно знаком какие приставки там встречаются, спасибо. Я прошу вас помочь разобраться почему программа не понимает метки.
EugenK вне форума Ответить с цитированием
Старый 12.09.2011, 13:01   #8
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

кстати, а что если поубирать точки с запятыми, особенно перед меткой.
f.hump вне форума Ответить с цитированием
Старый 12.09.2011, 13:06   #9
EugenK
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 22
По умолчанию

Убрал везде, ошибка остаётся(((
EugenK вне форума Ответить с цитированием
Старый 12.09.2011, 13:20   #10
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

чем компилите?
f.hump вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись данных в массив + цикл ассемблерной вставкой ahz4et Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 16.01.2011 11:10
3D метка TacoBell Помощь студентам 2 01.12.2010 16:50
Черная метка на форме Ренат Садыков Общие вопросы Delphi 5 26.07.2010 18:01
Как вызвать функцию в ассемблерной вставке, зная адрес iceman2112 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 04.05.2010 13:38
Логотипы-метка сайта Принц HTML и CSS 1 30.05.2008 13:37