內嵌匯編的代碼:


#define ?ASM???_asm


ULONG?msecond(
void )???????? // 毫秒數
{
????UCHAR?h;????
// 小時
????UCHAR?m;???? //
????UCHAR?s;???? //
????ASM {
????????MOV?AH,?
2
????????INT?1AH
????????MOV?(h),?CH
????????MOV?(m),?CL
????????MOV?(s),?DH
????}

????
????printf(
" time:?%d:%d%d\n " ,?h,?m,?s);

????
return ?((h? * ? 60 ? * ? 60 )? + ?(m? * ? 60 )? + ?s);
}

寫成這樣就錯了:
#define?ASM???_asm


ULONG?msecond(
void)????????//毫秒數
{
????UCHAR?h;????
//小時
????UCHAR?m;????//
????UCHAR?s;????//
????ASM
????????
{//太夸張了吧
????????MOV?AH,?2
????????INT?1AH
????????MOV?(h),?CH
????????MOV?(m),?CL
????????MOV?(s),?DH
????}

????
????printf(
"time:?%d:%d%d\n",?h,?m,?s);

????
return?((h?*?60?*?60)?+?(m?*?60)?+?s);
}
注意上面大括號的位置。必須緊接在ASM之后,老大作出的總結是:實踐出真知,汗