固定小数点プログラム開発の手間を省ける組み込み機器向けDSPコアを開発 ──15人日でMP3デコーダを開発可能に

小林士朗

tag: 半導体

技術解説 2003年9月16日

○● COLUMU ●○
アセンブリ言語を拡張してプログラミングのミスを減らす

 FitDSPでは,プログラム開発言語としてアセンブリ言語を利用していますが,C言語風のシンタックスを採用しています.Cプリプロセッサも利用可能です.

 アセンブリ言語によるプログラミングは,とかくミスを犯しやすいものです.筆者らは,自分たちでアセンブリ・プログラムを書いている際に犯しやすかったミスを分析し,それを防止するしくみをアセンブラに組み込みました.リストAに示すように,アセンブラはサブルーチンを呼び出すときにレジスタ・インターフェースの一致をチェックします.

 また,必要なレジスタのタイプを指定すると,未使用のレジスタを自動的に割り付けます.割り付け時には,レジスタにユーザ定義のラベルを付けることができるので,プログラムの可読性も向上します.

 図Aに示すように,レジスタ・ラベルを参照しながら,ソース・レベルのデバッグも可能です.

t02_01.gif
〔リストA〕アセンブリ言語の拡張
アセンブラのレジスタ関連機能を拡張し,プログラミングのミスを減らせるようにした.レジスタの自動割り付け機能によって,未使用のレジスタを自動的に割り当てる.また,サブルーチン呼び出し時にレジスタ・インターフェースが一致しているかどうかを検証する.

f13_01.gif
〔図A〕 レジスタ・ラベルを用いたソース・レベル・デバッグ
レジスタに付けたユーザ定義のラベルを用いて,ソース・レベル・デバッグを実施する.現在実行中の行(ソース・コード表示窓中で矢印があるところ)で,アクティブなレジスタのみラベルが表示される.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日