3.10 組み込み関数

CA78K0では#pragma指令により組み込み関数が有効となっていましたが,CC-RLでは組み込み関数が常に使用できます。CA78K0の組み込み関数に対応するCC-RLの組み込み関数が存在する場合,CcnvCA78K0はCソース中の#pragma指令を削除し,組み込み関数の呼び出し箇所を変更します。

 

-

#pragma指令がない場合は,組み込み関数が有効でないと判断し変換しません。

-

CC-RLではサポートしていない組み込み関数は,#pragma指令を削除し,メッセージを出力します。組み込み関数の呼び出し箇所は変換しません。

 

表 3.4

組み込み関数の変換

CA78K0組み込み関数

変換後

備考

#pragma DI

DI

削除します

__DI

 

#pragma EI

EI

削除します

__EI

 

#pragma HALT

HALT

削除します

__halt

 

#pragma STOP

STOP

削除します

__stop

 

#pragma BRK

BRK

削除します

__brk

 

#pragma NOP

NOP

削除します

__nop

 

#pragma rot

rolb

rorb

rolw

rorw

削除します

__rolb

__rorb

__rolw

__rorw

 

#pragma mul

mulu

削除します

__mulu

 

#pragma div

divuw

moduw

削除します

__divui

__remui

 

#pragma bcd

adbcdb, sbbcdb,

adbcdbe, sbbcdbe,

adbcdw, sbbcdw,

adbcdwe, sbbcdwe,

bcdtob, btobcde,

bcdtow, wtobcd,

btobcd

削除します

いずれも変換しません

CC-RLではサポートしていません。

#pragma opc

__OPC

削除します

変換しません

CC-RLではサポートしていません。

#pragma realregister

__geta, __seta, __getax,

__setax, __getcy, __setcy,

__set1cy, __clr1cy,

__not1cy, __inca, __deca,

__rora, __rorca, __rola,

__rolca, __shla, __shra,

__ashra, __nega, __coma,

__absa

削除します

いずれも変換しません

CC-RLではサポートしていません。

#pragma hromcall

__hromcall

__hromcalla

__setsp

削除します

いずれも変換しません

CC-RLではサポートしていません。

#pragma access

peekb, peekw,

pokeb, pokew

削除します

いずれも変換しません

CC-RLではサポートしていません。