SXマイコンでいこう! (2004/04/29更新) Junk box

このコンテンツでは、PICマイコンとバイナリレベルで互換性があり、最高 75 MIPSで動作するマイコン、SXシリーズを紹介していきます。

おすすめポイント
  1. PIC@10MHz の 20倍速でプログラムの可能性が広がります!
  2. 割り込み時刻の補正命令があり、PICでは面倒なタイマ割り込みの計算も簡単!
  3. 512バイト境界をこえるジャンプ・コールもお手軽にできます!
  4. アナログコンパレータもついています!
  5. ビット単位でのプルアップや TTL/CMOS入力レベル設定ができます!


デバイスの入手

秋月電子通商

IPIオンラインショップ

ライタの入手

秋月電子通商 IPIオンラインショップ

アセンブラなどの入手

AKI-SXプログラマーにアセンブラが付属しています(Win用)。 また、チップの開発元のUbicom(旧 Scenix )のポータルサイト(要登録)から MS-DOS用のアセンブラ(SASM)が入手できます(おすすめ!)。
あるいは、Googleで(内容無保証)。

参考資料の入手

Ubicomのポータルサイトに各種ドキュメント、フォーラム、サンプルコードなどが公開されています。
あるいは、Googleで(内容無保証)。

命令表(SASMのマニュアルより作成)

論理演算命令
命令            変化するフラグ 機能
AND fr, W Z fr = fr & W
AND W, fr Z W = W & fr
AND W, #lit Z W = W & #lit
NOT fr Z fr = /fr
NOT W Z W = /W
MOV W, /fr Z W = /fr
OR fr, W Z fr = fr | W
OR W, fr Z W = fr | W
OR W, #lit Z W = W | #lit
XOR fr, W Z fr = fr ^ W
XOR W, fr Z W = W ^ fr
XOR W, #lit Z W = W ^ #lit
算術・シフト演算命令
ADD fr, W C,DC,Z fr = fr + W (+C; CF=1のとき)
ADD W, fr C,DC,Z W = W + fr (+C; CF=1のとき)
SUB fr, W C,DC,Z fr = fr - W (+C; CF=0のとき)
MOV W, fr-W C,DC,Z W = fr - W (+C; CF=0のとき)
CLR fr Z fr = 0
CLR W Z W = 0
CLR !WDT TO,PD WDTとプリスケーラをクリア
DEC fr Z fr--
INC fr Z fr++
MOV W, --fr Z W = fr-1
MOV W, ++fr Z W = fr+1
MOV W, << fr C frを左ローテートした結果をWにセット
MOV W, >> fr C frを右ローテートした結果をWにセット
MOV W, <> fr - frの上位4ビットと下位4ビットを入れ換えた結果をWにセット
RL fr C frを左ローテート
RR fr C frを右ローテート
SWAP fr - frの上位4ビットと下位4ビットの入れ換え
NOP - No operation
ビット操作命令
SETB fr.bit - fr.bit = 1
CLRB fr.bit - fr.bit = 0
CLC C Cフラグをクリア
CLZ Z Zフラグをクリア
データ転送命令
命令            変化するフラグ 機能
MOV fr, W - fr = W
MOV W, fr Z W = fr
MOV W, #lit - W = #lit
MOV W, M - W = MODE
MOV M, W - MODE = W
MOV M, #lit - MODE = #lit
MOV !rx, W - !rx(ポートコントロールレジスタ) = W
MOV !OPTION, W - OPTION = W
TEST fr Z fr = 0 なら Zをセット
スキップ命令
SB fr.bit - fr.bit = 1 のとき次の命令をスキップ
SNB fr.bit - fr.bit = 0のとき次の命令をスキップ
MOVSZ W, --fr - W = fr-1, 結果が0なら次の命令をスキップ
MOVSZ W, ++fr - W = fr+1, 結果が0なら次の命令をスキップ
SC C Cがセットされているとき次の命令をスキップ
DECSZ fr - fr--, 結果が0なら次の命令をスキップ
INCSZ fr - fr++, 結果が0なら次の命令をスキップ
ジャンプ命令
CALL addr8 - addr8をコール
JMP addr9 - addr9にジャンプ
JMP W - PC(L) = W
JMP PC+W C,DC,Z PC(L) += W
RET - call命令からのリターン
RETP - call命令からのリターン。PA2:PA0の値をセット
RETI - 割込みからのリターン
RETIW - 割込みからのリターン。RTCC=RTCC-W
RETW lit - W = #litとしてリターン
SKIP - 次の命令をスキップ
システムコントロール命令
BANK n - バンク切り替え
IREAD - MODE:W の指すプログラムメモリの値を MODE:Wに読み出す
MODE n - MODE = n
PAGE n - PA2: PA0 = n
SLEEP TO,PD WDTをクリアし, スリープモードに入る

Junk box