ProMicroCH552(AKITA-023)をアセンブリ言語でLチカしてみました。
ProMicroCH552は、CH552のマイコンボードです。
main.asm
.area HOME (CODE)
.area XSEG (XDATA)
.area PSEG (PAG,XDATA)
.area RSEG (ABS,DATA)
P1 = 0x90 ;p262
P2 = 0xA0 ;
P3 = 0xB0
.area CSEG (ABS,CODE)
_start:
xrl P1, #255 ; xor
mov A, #100
push A
wait1_bloop:
mov A, #255
wait1_loop:
nop
nop
nop
dec A
jnz wait1_loop
pop A
dec A
push A
jnz wait1_bloop
ljmp _start
PowerShellを使って、sdccでhexファイルを生成しました。数値は合っているかわかりません。
make.bat
cd /D %~dp0
sdas8051 -l -o -s main.asm
sdcc -mmcs51 --iram-size 256 --xram-size 1024 --code-size 16384 main.rel
packihx main.ihx > main.hex
書き込みにはWCHISPStudio_V350を使いました。
E8051 USB MCUsを選択しておきます。
Chip Model はCH552です。
接続するにはボードのBootloadスイッチを押しながらUSBケーブルを挿します。
Object File1に生成したhexファイルを指定して、Downloadを押すと書き込まれて黄色のLEDが点滅しました。

このプログラムのコードをもっと短くできるので変えてみました。
.area HOME (CODE)
.area XSEG (XDATA)
.area PSEG (PAG,XDATA)
.area RSEG (ABS,DATA)
P1 = 0x90 ;p262
P2 = 0xA0 ;
P3 = 0xB0
.area CSEG (ABS,CODE)
_start:
xrl P1, #0x80 ; xor
delay:
mov R5, #0xFF
loop1:
mov R6, #0xFF
loop2:
djnz R6, loop2
djnz R5 , loop1
ljmp _start
DJNZ命令を使うことで短くできます。
書き込みにはWCHISPStudio_V360を使いました。

上記と同様に設定してDownloadを押すと書き込まれて黄色のLEDが点滅しました。