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

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

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

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

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

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

Доброго времени суток
может кто подскажет
для программы нужно получить время через прерывание 1aH
как на СИ это осуществить
кто сталкивался подскажите

Последний раз редактировалось X@OC; 02.04.2011 в 15:21.
X@OC вне форума Ответить с цитированием
Старый 02.04.2011, 15:29   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы под ДОС пишете хоть?
компилятор какой?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.04.2011, 15:34   #3
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

пишу под DOS
компилятор DOSBox Burland
X@OC вне форума Ответить с цитированием
Старый 02.04.2011, 15:51   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Burland
не знаю как в нем синтаксис асм вставок, надеюсь как в MSVC++

Код:
#include <iostream.h>

int BCDToDec(unsigned char BCD)
{
    return (((BCD&0xF0)>>4)*10)+(BCD&0x0F)
}

int main()
{
    unsigned char h,m,s;
    asm
    {
        mov ah,0x02
        int 0x1A
        mov h,ch
        mov m,cl
        mov s,dh
    }
    std::cout<<BCDToDec(h)<<":"<<BCDToDec(m)<<":"<<BCDToDec(s);
    return 0;
}
где то примерно так.
проверить не могу, ибо у меня нечем под ДОС компилить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.04.2011, 16:00   #5
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

Код:
return ((BCD>>4)*10)+(BCD&0xF0)
эти стрелочки типа сдвига вроде так я помню
в Си такого нету чем можно это >> заменить

Последний раз редактировалось X@OC; 02.04.2011 в 16:02.
X@OC вне форума Ответить с цитированием
Старый 02.04.2011, 16:03   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть. Ты просто об этом не знаешь - читай книги.
>> означает побитовый сдвиг вправо на 4 бита.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.04.2011, 16:07   #7
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

я знаю что это побитовый сдвиг

вод переделал под СИ

eму не нравиться вставка _asm
не идентифицирует символ в функции main

когда пишу asm но ему не нравиться все что внутри написано
Код:
#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; 02.04.2011 в 16:20.
X@OC вне форума Ответить с цитированием
Старый 02.04.2011, 20:06   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

говорят что там асм вставки пишутся
Код:
__asm__
{ 
//асм код
}
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.04.2011, 20:23   #9
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

пишу __asm__
все тоже нет идентификации символа
X@OC вне форума Ответить с цитированием
Старый 02.04.2011, 20:26   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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


Купить рекламу на форуме - 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