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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2011, 21:37   #11
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

вот ошибки
когда пишу _asm либо __asm__
Error X:\real_time.C 14: Undefined symbol '_asm' in function main
Warning X:\real_time.C 14: Code has no effect in function main
Error X:\real_time.C 14: Statement missing ; in function main


а когда пишу asm то ему не нравиться все что внутри скобок

Error X:\real_time.C 17: Undefined symbol 'mov' in function main
Warning X:\real_time.C 17: Code has no effect in function main
Error X:\real_time.C 17: Statement missing ; in function main


вот еще одна ошибка

In-line assembly not allowed in function main

Последний раз редактировалось X@OC; 02.04.2011 в 22:08.
X@OC вне форума Ответить с цитированием
Старый 05.04.2011, 15:57   #12
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
Печаль

не ужели не кто не знает как правильно вписывать Asembler в Си
я уже с ним 3 дня разобраться не могу

Код:
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

int DCSToDec (unsigned char DCS)
{
return ((DCS>>4)*10)+(DCS&0XF0);
}

main()
{
	unsigned char h,m,s;
	asm{
		mov ah,0x02
		int  0x1A
		mov h,ch
		mov m,cl
		mov s,dh
	}
	printf(DCSToDec(h),DCSToDec(m),DCSToDec(s));
	exit(0);
}
X@OC вне форума Ответить с цитированием
Старый 06.04.2011, 17:27   #13
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

Кто знает как получить время через прерывания не используя Assembler???
X@OC вне форума Ответить с цитированием
Старый 06.04.2011, 18:09   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
вписывать Asembler в Си
стоит думать прежде чем говорить, чуть ли не в каждом компиляторе свой синтаксис асм вставок.

Код:
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

int DCSToDec (unsigned char DCS)
{
return ((DCS>>4)*10)+(DCS&0XF0);
}

main()
{
	unsigned char h,m,s;
	asm mov ah,0x02
	asm int  0x1A
	asm mov h,ch
	asm mov m,cl
	asm mov s,dh
	printf(DCSToDec(h),DCSToDec(m),DCSToDec(s));
	exit(0);
}
где то видел еще такой синтаксис асм вставок(и вроде именно в Borland C)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.04.2011, 15:05   #15
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

Пепел Феникса а вы знаете прогу Pelles C IDE
как в ней писать вставку ASM?
все перепробовал что было преложено
не заработало

Последний раз редактировалось X@OC; 07.04.2011 в 15:07.
X@OC вне форума Ответить с цитированием
Старый 07.04.2011, 15:17   #16
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

все разобрался
СПАСИБО ВСЕМ ЗА ПОМОЩЬ
X@OC вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прерывание в Си Misha_M. Помощь студентам 2 04.02.2010 20:11
Помогите! В АССЕМБЛЕРЕ MOV AH,1AH Что значит 1AH? veter_s_morya Фриланс 1 16.06.2008 16:03
6 прерывание ленусик Помощь студентам 5 30.05.2008 16:57