RENESAS TOOL NEWS 2007年03月01日 : 070301/tn5
| M16Cシリーズ用Cコンパイラパッケージ の
ユーザーズマニュアル訂正のお知らせ |
M16Cシリーズ*用Cコンパイラパッケージ(M3T-NC30WA) V.5.40 Release 00 ~
V.5.42 Release 00に付属している以下のユーザーズマニュアルに誤記がありました
のでお知らせします。
- 資料番号 RJJ10J1500-0100
M16C/60,30,20,10,Tiny,R8C/Tinyシリーズ用Cコンパイラパッケージ V.5.40
Cコンパイラユーザーズマニュアル
- 資料番号 RJJ10J1687-0100
M16C/60,30,20,10,Tiny,R8C/Tinyシリーズ用Cコンパイラパッケージ V.5.42
Cコンパイラユーザーズマニュアル
*M16C/60, /30, /20, /10, /TinyおよびR8C/Tinyシリーズの総称です
1. M16C/60,30,20,10,Tiny,R8C/Tinyシリーズ用
Cコンパイラパッケージ V.5.40
Cコンパイラユーザーズマニュアル
資料番号 RJJ10J1500-0100
63ページ
3.3.3項「アセンブラ関数の記述に関する注意事項」
c項「汎用レジスタ及びアドレスレジスタの取り扱いに関する注意事項」
誤:
アセンブラ関数の中で汎用レジスタ(R0 を除く、R1、R2、R3)及びアドレス
レジスタ(A0、A1)の内容を変更する場合、アセンブラ関数の入口処理で
それらを退避し、出口処理で復帰する必要があります。
ただし、 "#pragma PARAMETER /C"で宣言されたアセンブラ関数は、
呼び出した側で待避・復帰を行うコードが生成されますので、アセンブラ
関数内で、待避・復帰を行う必要はありません(多少コードサイズは、
大きくなります)。
正:
アセンブラ関数及び#pragma PARAMTERで宣言したアセンブラ関数の中で
汎用レジスタ(R0 、R1、R2、R3)及びアドレスレジスタ(A0、A1)の内容を
変更しても、アセンブラ関数の入口処理でそれらを退避し、出口処理で
復帰する必要はありません。
130、131、143、147、149 および183ページ
#pragma PARAMETER, #pragma SPECIALおよび#pragma INTCALLにスイッチ/C
機能はありません。スイッチ/C機能に関する説明および例を削除してください。
詳細な訂正箇所はこちらを参照ください(3月5日から公開予定)。
2. M16C/60,30,20,10,Tiny,R8C/Tinyシリーズ用
Cコンパイラパッケージ V.5.42
Cコンパイラユーザーズマニュアル
資料番号 RJJ10J1687-0100
62ページ
3.3.3項「アセンブラ関数の記述に関する注意事項」
c項「汎用レジスタ及びアドレスレジスタの取り扱いに関する注意事項」
誤:
アセンブラ関数の中で汎用レジスタ(R0 を除く、R1、R2、R3)及びアドレス
レジスタ(A0、A1)の内容を変更する場合、アセンブラ関数の入口処理で
それらを退避し、出口処理で復帰する必要があります。
ただし、 "#pragma PARAMETER /C"で宣言されたアセンブラ関数は、
呼び出した側で待避・復帰を行うコードが生成されますので、アセンブラ
関数内で、待避・復帰を行う必要はありません(多少コードサイズは、
大きくなります)。
正:
アセンブラ関数及び#pragma PARAMTERで宣言したアセンブラ関数の中で
汎用レジスタ(R0 、R1、R2、R3)及びアドレスレジスタ(A0、A1)の内容を
変更しても、アセンブラ関数の入口処理でそれらを退避し、出口処理で
復帰する必要はありません。
136、137、151、155、157 および191ページ
#pragma PARAMETER, #pragma SPECIALおよび#pragma INTCALLにスイッチ/C
機能はありません。スイッチ/C機能に関する説明および例を削除してください。
詳細な訂正箇所はこちらを参照ください(3月5日から公開予定)。
3. 注意事項
1項および2項の「汎用レジスタ及びアドレスレジスタの取り扱いに関する注意
事項」について、誤記の内容のとおりレジスタの退避(pushm)および復帰(popm)
を行った場合、1アセンブラ関数あたりコードサイズが4バイト増加しますが、
動作に問題ありません。