خدابیامرز DOS زیاد تو کار با سخت افزار گیر نمیداد ولی امان از این ویندوز که تا نفس میکشی میگه واسسا بینم داری چیکار میکنی.
دسترسی مستقیم به سخت افزار تو ویندوز با کد سطح User نمیشه باید Kernel Mode کار کنید یا از ابزارهای نوشته شده شرکتهای ثالث استفاده کنید که عمدتا هم بصورت
Kernel Mode هستن ولی برای کار راحت برنامه نویس معمولا یه DLL یا ActiveX ارائه میدن ( پس پرده این DLL یا ActiveX با کد سطح کرنل ارتباط برقرار میکنه )
ولی اگه DOS خاستید کار کنید
#include <dos.h>
#define ADDRPORT (0x70)
#define DATAPORT (0x71)
int main( void )
{
outportb( ADDRPORT, 0x13 );
outportb( DATAPORT, 0x14 );
return(0);
}
دقت کنید برای دسترسی به اطلاعات CMOS پورت 70 برای پورت آدرس و پورت 71 برای پورت دیتا بکار میره و این دوتا هر دوشون بصورت هگز هستن.
مسئولیت اجرای این کد گردن اونایی که میگن، قبلش CMOS Memory Map رو یه نیگایی بکنید، زیادم مطمئن نباشید بعضی مواقع این شرکتهای سازنده
یه تغییراتی تو این مدل استاندارد میدن
موفق باشید.