fusionPCBから基板が届いたし如月が終わる前に少しずつでもデバックの下準備でもしようかと久々(多分15年以上振り:)に68000系のアセンブラに触る。クロスアセンブラはgnuのasではなく、万能汎用クロスアセンブラでOSSな有名処のaslを使わせて頂く。何よりlinuxでもmakeでインプリ出来るのが有り難い。
このクロスアセンブラ、対応していないターゲットが無いとは言わぬが極めて少ない(サポートしていないプロセサが:)のでは?が特徴でcopyrightからするに日本人の開発者も参加されておられる模様。感謝、感謝であります(心から)。
1.最初のハーウェアテストプログラム
motorola系なら bra 自分(6800/6809なら20 fe,68000系なら60 fe)だろうと言うことで:
cpu 68020
ssp equ $0007fff0
base equ $0org base
dc.l ssp
dc.l resvecorg base+$400
resvec:
loop bra loop
end
あな、懐かしや。
2.アセンブル
これをaslでアセンブル、ヘキサファイル生成。これを1コマンドで出来るのがaslの楽な処でクロスアセンブラに徹した今時珍しく、有り難い硬派なクロスアセンブラ(開発者がトイツ系故?)で何度感謝してもし足りない程。このクロスアセンブラのおかげで68hc11,8051,z80,8085,8049,CDP1802,TMS9995,80186,そして68030と15年前にOlimexでボード作りまくっていた頃には本当にお世話になったツールが15年後の今でもサポートされているのは本当に本当に有り難く、感謝の言葉しかない(心から)。
asl tp0.asm -L
p2hex tp0
-L はリスティングファイル生成、p2hexはhexファイル生成(デフォルトでMotora S-format:懐かし:)で生成されたhexファイルが:
S0030000FC
S5030001FB
S10B00000007FFF000000400FA
S5030001FB
S105040060FE98
S9030000FC
あな、懐かしや(2回目)。S9レコードなんてモトローラ系の組み込みプロセサ関係の方でないと知られてないロストテクノロジかもとか思ったり(ARMプロセサのヘキサファイルのフォーマット何でしたっけ?)。まあそんな事は無くて、社会基盤や組み込み機器を支えるマイコン技術者さんはご承知の筈。昔話はさておきリストファイル:
AS V1.42 Beta [Bld 238] - Source File tp0.asm - Page 1 - 23/02/23 13:05:12
1/ 0 : cpu 68020
2/ 0 :
3/ 0 : =$7FFF0 ssp equ $0007fff0
4/ 0 : =$0 base equ $0
5/ 0 :
6/ 0 : org base
7/ 0 :
8/ 0 : 0007 FFF0 dc.l ssp
9/ 4 : 0000 0400 dc.l resvec
10/ 8 :
11/ 400 : org base+$400
12/ 400 :
13/ 400 : resvec:
14/ 400 :
15/ 400 : 60FE loop bra loop
16/ 402 :
17/ 402 : end
AS V1.42 Beta [Bld 238] - Source File tp0.asm - Page 2 - 23/02/23 13:05:12
Symbol Table (* = unused):
--------------------------*ARCHITECTURE : "x86_64-unknown-linux" - |
BASE : 0 - | *CASESENSITIVE : 0 - |
*COMPMODE : 0 - | *CONSTPI : 3.141592653589793 - |
*DATE : "23/02/23" - | *FALSE : 0 - |
*FULLPMMU : 1 - | *HAS64 : 1 - |
*HASFPU : 0 - | *HASPMMU : 0 - |
*INSUPMODE : 0 - | *LISTON : 1 - |
LOOP : 400 C | *MACEXP : 7 - |
*MOMCPU : 68020 - | *MOMCPUNAME : "68020" - |
*NESTMAX : 100 - | *PADDING : 1 - |
*RELAXED : 0 - | RESVEC : 400 C |
SSP : 7FFF0 - | *TIME : "13:05:12" - |
*TRUE : 1 - | *VERSION : 142F - |25 symbols
21 unused symbolsAS V1.42 Beta [Bld 238] - Source File tp0.asm - Page 3 - 23/02/23 13:05:12
Code Pages:
----------STANDARD (0 changed characters)
1 code page
0.05 seconds assembly time
18 lines source file
2 passes
0 errors
0 warnings
あな、懐かし(3回目)。こういうのを見てニヤニヤしている自分を反芻するに、俺ってまだ終わっていないのかもしれない・・・とか思ったりする(単なる妄想です:)。
実はPSDのabelソースもCPLDのverilog修正もまだやってない(故にsspのアドレスは変更の可能性あり:)のでまあ、ちょぼちょぼと。。。