📄 mainboard.txt
字号:
mov &outhigh_word,R4
swpb R4
call #rrcR4_sub
and #0Fh,R4
jz _bcd_bin_highest
_bcd_bin_most_highest1
clrc
addc #09680h,lowest_word
addc #098h,highest_word
dec R4
jnz _bcd_bin_most_highest1
;;------最高位的转换,
_bcd_bin_highest
mov &outhigh_word,R4
swpb R4
and #0Fh,R4
jz _bcd_bin_higher
_bcd_bin_highest1
clrc
addc #04240h,lowest_word
addc #0Fh,highest_word
dec R4
jnz _bcd_bin_highest1
;;------次高位的转换
_bcd_bin_higher
mov &outhigh_word,R4
call #rrcR4_sub
and #0Fh,R4
jz _bcd_bin_lowest
_bcd_bin_higher1
clrc
addc #086A0h,lowest_word
addc #01h,highest_word
dec R4
jnz _bcd_bin_higher1
;;------最低位的转换
_bcd_bin_lowest
mov &outhigh_word,R4
and #0Fh,R4
jz bcd_bin_most_highest
_bcd_bin_lowest1
clrc
addc #02710h,lowest_word
addc #0h,highest_word
dec R4
jnz _bcd_bin_lowest1
;;------最最高位的转换
bcd_bin_most_highest
mov &outlow_word,R4
swpb R4
call #rrcR4_sub
and #0Fh,R4
jz bcd_bin_highest
bcd_bin_most_highest1
clrc
addc #03E8h,lowest_word
addc #0h,highest_word
dec R4
jnz bcd_bin_most_highest1
;;------最高位的转换,
bcd_bin_highest
mov &outlow_word,R4
swpb R4
and #0Fh,R4
jz bcd_bin_higher
bcd_bin_highest1
clrc
addc #064h,lowest_word
addc #0h,highest_word
dec R4
jnz bcd_bin_highest1
;;------次高位的转换
bcd_bin_higher
mov &outlow_word,R4
call #rrcR4_sub
and #0Fh,R4
jz bcd_bin_lowest
bcd_bin_higher1
clrc
addc #0Ah,lowest_word
addc #0h,highest_word
dec R4
jnz bcd_bin_higher1
;;------最低位的转换
bcd_bin_lowest
mov &outlow_word,R4
and #0Fh,R4
clrc
addc R4,lowest_word
addc #0h,highest_word
ret
rrcR4_sub
rrc R4
rrc R4
rrc R4
rrc R4
ret
;;将十六进制数变为十进制数,以便显示.
com_bin_bcd
clr lowest_word
clr highest_word
clr BinWord
com_bin_bcd_L1
mov &outhigh_word,R4
swpb R4
call #rrcR4_sub
and #0Fh,R4
jz com_bin_bcd_L2
_com_bin_bcd_L1
clrc
dadd #05456h,lowest_word
dadd #06843h,highest_word
dadd #2h,BinWord
dec R4
jnz _com_bin_bcd_L1
;;--------------------------------------------------------
com_bin_bcd_L2
mov &outhigh_word,R4
swpb R4
and #0Fh,R4
jz com_bin_bcd_L3
_com_bin_bcd_L2
clrc
dadd #07216h,lowest_word
dadd #01677h,highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L2
;;--------------------------------------------------------
;;------最最高位的转换
com_bin_bcd_L3
mov &outhigh_word,R4
call #rrcR4_sub
and #0Fh,R4
jz com_bin_bcd_L4
_com_bin_bcd_L3
clrc
dadd #08576h,lowest_word
dadd #104h,highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L3
;;--------------------------------------------------------
;;------最高位的转换
com_bin_bcd_L4
mov &outhigh_word,R4
and #0Fh,R4
jz com_bin_bcd_L5
_com_bin_bcd_L4
clrc
dadd #05536h,lowest_word
dadd #6,highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L4
;;--------------------------------------------------------
;;------次高位的转换
com_bin_bcd_L5
mov &outlow_word,R4
swpb R4
call #rrcR4_sub
and #0Fh,R4
jz com_bin_bcd_L6
_com_bin_bcd_L5
clrc
dadd #4096h,lowest_word
dadc highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L5
;;--------------------------------------------------------
;;------中间位的转换
com_bin_bcd_L6
mov &outlow_word,R4
swpb R4
and #0Fh,R4
jz com_bin_bcd_L7
_com_bin_bcd_L6
clrc
dadd #256h,lowest_word
dadc highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L6
;;--------------------------------------------------------
;;------次低位的转换
com_bin_bcd_L7
mov &outlow_word,R4
call #rrcR4_sub
and #0Fh,R4
jz com_bin_bcd_L8
_com_bin_bcd_L7
clrc
dadd #16h,lowest_word
dadc highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L7
;;--------------------------------------------------------
;;------最低位的转换
com_bin_bcd_L8
mov &outlow_word,R4
and #0Fh,R4
jz bin_bcd_end
_com_bin_bcd_L8
clrc
dadd #1h,lowest_word
dadc highest_word
dadc BinWord
dec R4
jnz _com_bin_bcd_L8
bin_bcd_end
ret
;******************************************************************************
; Interrupt Vector Table
;******************************************************************************
RSEG INTVEC ; *** Interrupt Vector Table MSP430F41x
DW Main ; FFE0h: Basic Timer1
DW Main ; FFE2h: I/O Port 2
DW Main ; FFE4h: not used
DW Main ; FFE6h: not used
DW Main ; FFE8h: I/O Port 1
DW Main ; FFEAh: not used
DW Main ; FFECh: Timer_A (CCIFG0)
DW Main ; FFEEh: not used
DW Main ; FFF0h: not used
DW Main ; FFE2h: Timer_A (CCIFG0)
DW Main ; FFF4h: Watchdog Timer
DW Main ; FFF6h: Comparator_A
DW Main ; FFF8h: not used
DW Main ; FFFAh: not used
DW Main ; FFFCh: NMI, Osc. Fault, Flash memory
DW Main ; FFFEh: Power-Up, ext. Reset, Watchdog,Flash mem.
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -