📄 com.asm
字号:
;Clear Ram
@@clr_ram:
IF @Rambank0 == 1
b0mov y,#0 ; clear bank0
b0mov z,@Rambank0_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
IF @Rambank1 == 1
b0mov y,#1 ; clear bank1
b0mov z,@Rambank1_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
IF @Rambank2 == 1
b0mov y,#2 ; clear bank2
b0mov z,@Rambank2_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
IF @Rambank3 == 1
b0mov y,#3 ; clear bank3
b0mov z,@Rambank3_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
IF @Rambank4 == 1
b0mov y,#4 ; clear bank4
b0mov z,@Rambank0_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
IF @Rambank15 == 1
b0mov y,#15 ; clear bank15
b0mov z,@Rambank15_val
@@: clr @yz
decms z
jmp @b
clr @yz
ENDIF
ret
;================================================
;Initial CPU Register and I/O Direction
@@initcpu:
; b0mov r,#0x00 ; If use these registers, you add delete them
; b0mov z,#0x00 ; |
; b0mov y,#0x00 ; |
; |
; b0mov x,#0x00 ; |
; b0mov l,#0x00 ; |
; b0mov h,#0x00 ; If use these registers, you add delete them
;************************************************************
;I/O port(Pur register Set/Port Value Set/IO direction Set) *
;************************************************************
IF @Purmode == 2
@SET_PUR @Pur_set
ENDIF
IF @ChipP0 == 1
;...............
ENDIF
IF @ChipP1 == 1
mov_ p1,@p1set
mov_ p1m,@p1Mset
mov_ p1w,@p1Wset
if @Purmode == 1
mov_ p1ur,@p1ur_set
endif
ENDIF
IF @ChipP2 == 1
mov_ p2,@p2set
mov_ p2m,@p2Mset
if @Purmode == 1
mov_ p2ur,@p2ur_set
endif
ENDIF
IF @ChipP3 == 1
mov_ p3,@p3set
mov_ p3m,@p3Mset
if @Purmode == 1
mov_ p3ur,@p3ur_set
endif
ENDIF
IF @ChipP4 == 1
mov_ p4,@p4set
mov_ p4m,@p4Mset
if @Purmode == 1
mov_ p4ur,@p4ur_set
endif
ENDIF
IF @ChipP5 == 1
mov_ p5,@p5set
mov_ p5m,@p5Mset
if @Purmode == 1
mov_ p5ur,@p5ur_set
endif
ENDIF
IF @ChipP6 == 1
mov_ p6,@p6set
mov_ p6m,@p6Mset
if @Purmode == 1
mov_ p6ur,@p6ur_set
endif
ENDIF
IF @ChipP7 == 1
mov_ p7,@p7set
mov_ p7m,@p7Mset
if @Purmode == 1
mov_ p7ur,@p7ur_set
endif
ENDIF
;================================================
;Other settings!
;oscm
mov_ oscm,@Oscm_set
/*
IF @ADappl_set == 1
;A/D transform
clr adm
ENDIF
IF @DAappl_set == 1
;D/A transform
clr dam
ENDIF
IF @Lcdappl_set == 1
;LCD display
clr lcdm
ENDIF
*/
;Pedge setting
IF @Pedge_set != 0
if @Pedge_set == 1
mov_ pedge,@Pedge_low_val
elseif @Pedge_set == 2
mov_ pedge,@Pedge_fall_val
elseif @Pedge_set == 3
mov_ pedge,@Pedge_rise_val
elseif @Pedge_set == 4
mov_ pedge,@Pedge_triggle_val
else
error "Please check the value of @Pedge_set!"
endif
ENDIF
ret
;========================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -