|
 |
|
| CPU |
Cコンパイラ |
| SH1/SH2 |
YCSH |
| H8/300H |
YCH8 |
従来マイコン開発ツールは非常に高価でした。また安価なツールは機能が不十分、本格的なプログラム開発には不向きでした。イエローソフトのコンパイラ・アセンブラは低価格を実現しながら、本格的なアプリケーション開発を実現する優れたツールです。
低価格でも、機能制限などいっさいありません。またアップデートやご質問、お問い合わせなどのサポートも安心してください。
Cコンパイラにはアセンブラも含まれています。 |
| |
YCシリーズCコンパイラにはWindows上の統合開発環境YellowIDEが含まれています。編集、コンパイルから実行までをサポートします。詳しくはこちらをご覧ください。 |

| |
日立、H8/300Hシリーズ、SHシリーズの約45種類のCPUに対応した、内蔵フラッシュROMライタFWRITE2が含まれています。ターゲットとRS232Cで接続してオンボードで書込みができます。詳しくはこちらをご覧ください。こちらをご覧ください。 |

| |
●ANSI標準規格に準拠したフルセットのCコンパイラ
過去のプログラム資産を利用できるだけでなく、将来に対しても移植性の高いプログラムが記述できます。
●Cの変数を参照可能なインラインアセンブラを実装(YCH8のみ)
Cプログラム中からアセンブラの命令を記述できます。またCプログラム中の変数名を、ニーモニックの中に記述することができます。
●C言語レベルでの割り込み関数をサポート
void interrupt int_func1(void); 割り込み関数定義例
●すべてのデータ型をサポート
unsigned char, signed char, unsigned short, signed short, unsigned int, signed int, unsigned long signed long, float, double, long double, enum, union, struct, ビットフィールド |

| |
●32ビット高速コンパイラ
現在、市場にあるパソコンのほとんどが386SX以上のCPUを搭載しています。イエローソフトのCコンパイラ、アセンブラはすべて32ビットコードで書かれています。これにより、コンパイル、アセンブルは非常に高速です。また、メモリによる制約がほとんどなく、大きいファイルも余裕でコンパイルできます。
●コンパクトな生成コード
各種の最適化技術によりコンパクトなコードを生成します。また、同じ文字列リテラルは同一の記憶領域を占有するようにして、できる限りメモリを消費しないように工夫されています。
●RISC最適化(YCSHのみ)
YCSHはターゲットがRISCであるために、RISC用に最適化されたコードを出力します。ローカル変数は最大4個までレジスタに割り付けられます。また、関数パラメータは最大2個までレジスタが使用されます。YCSHはメモリアクセスを極力少なくします。またパイプラインの最適化もします。
●高度なセグメント制御
組み込みシステムの複雑なメモリマッピングに対応できるように、セグメント制御の機能が強化されています。オプションスイッチにより、セグメント名を変更したり、データセグメントを役割に応じて分割したりできます。
| セグメント名 |
役割 |
| TEXT |
関数 |
| DATA_CONST |
const変数 |
| DATA |
初期化されるデータ |
| BSS |
初期化されないデータ |
●アセンブラで書かれた浮動小数点ライブラリ
コンパイラが呼び出す浮動小数点ライブラリのソースが付属していますので、変更や他のアセンブラプログラムへ応用もできます。
・付属する浮動小数点ライブラリソース
単精度の四則演算、比較、整数変換、倍精度変換
倍精度の四則演算、比較、整数変換、単精度変換 |

| |
ANSI標準規格でサポートされる関数をサポートします。
(ただし、多バイト文字関数をのぞく)
ライブラリ関数は、すべてソースプログラムが付属していますので、移植も簡単に行えます。また、ライブラリ関数の機能を拡張したり、不要な機能を削除できます。 |

| |
●リロケータブルアセンブラ
大規模なアプリケーション開発に対応した本格的なアセンブラです。
●マクロ、条件アセンブル
マクロ、条件アセンブル機能により汎用性が高く、読みやすいプログラムが記述できます。
●構造化命令サポート
アセンブラで高級言語のようなIF、WHILE等の制御文が使用できます。ソースからラベルが極端に減り、見やすいプログラムが記述できます。
| 例 |
?IF (ER0 == 0 && ER5 > H'10345)
?CALL Sub(R1=6)
?ENDI
|
●デフォルトライブラリ機能
よく使用するライブラリやオブジェクトファイルは、DEFLIB疑似命令を使用して、アセンブルプログラム中に記述します。DEFLIBで指定されたファイルは、リンク時に指定しなくても自動的に結合されます。
●C言語の式を採用
式の中の演算子はC言語の演算子を使用できます。
●疑似命令一覧
INCLUDE DEFINE DEFLIB EQU SET SEGMENT SECT
EXTERN PUBLIC DS DC DCB ORG EVEN END MACRO
ENDM LOCAL IF ENDIF IFDEF IFNDEF DEFD UNDEF |

| |
●ROM化完全対応
ROM化が簡単に行えるようにさまざまな機能があります。
セグメントごとに論理アドレスと物理アドレスが指定可能です。
●セグメント単位のリンク
通常のリンカはモジュール単位のリンクですが、これではファイルの中の不要なセグメントまでもリンクされてしまいます。イエローソフトのリンカはセグメント単位のリンクを実行します。これはどこからも参照されない不要となった関数などはリンクしないことを意味します。たとえばデバッグ用の関数などはデバッグが終了すれば不要となりますが、デバッグ関数の呼び出しだけを削除して、デバッグ関数本体はそのままにしておいてもリンクされません。
従来のリンカでは、ライブラリを作成するさい関数ごとにファイルを分割していましたが、イエローソフトのリンカではこのようなめんどうな作業も必要ありません。
●リンカ定義シンボル
セグメントの開始アドレスや終了アドレス、物理アドレス、セグメントサイズがアセンブラから参照可能です。普通これらの値はアセンブルの段階では決定できませんが、リンカ定義シンボルを使用することによって、アセンブラプログラム中に記述することができます。
・リンカ定義シンボルの使用例
EXTERN DATA_start_low DATA_rom_low
EXTERN DATA___size__low
LD HL, DATA_rom_low
LD DE, DATA_start_low
LD BC, DATA_size_low
LDIR
●多数のオブジェクトフォーマットに対応
モトローラSフォーマット(S1,S",S3,S7,S8,S9)、インテルHEXフォーマット(拡張アドレス対応)、バイナリ、シンボルレコード |

| |
メイク、逆アセンブラ、ライブラリアンなどのユーティリティ、スタートアップルーチン、サンプルプログラムが付属しています。 |

| |
●YCSH
SH1/SH2 CPUコアおよび上位互換の日立製ワンチップマイコン。
●YCH8
H8/300H CPUコアおよび上位互換の日立製ワンチップマイコン。H8S、H8Tinyシリーズも含む |

| |
●コンパイラYCSH、YCH8
統合開発環境YellowIDE、フラッシュROMライタ、コンパイラ、アセンブラ、リンカ、ライブラリアン、メイク、逆アセンブラ、標準ライブラリ、標準ライブラリソース、浮動小数点ライブラリソース、サンプルプログラムソース、マニュアル |

| |
Windows2000/XP/Vistaが動作するPC-AT互換機
RS232Cポート(COMポート)を内蔵したPC-AT互換機(USB-RS232C変換器可)
|
|