📄 a.asm
字号:
.define P_ADC_MUX_Ctrl 0x702b
.define P_ADC_MUX_Data 0x702c
.include hardware.inc
.ram
.var counter,data,a1,a2,a3,a4
.code
.public _main
_main:
r1 = 0xFFFF;
[P_IOA_Dir] = r1;
r2=0x00ff;
[P_IOA_Attrib]=r2
r1=0x0710;
[P_IOA_Data]=r1;
//r1=0x3f10
//[a1]=r1
//r2=0x3f20
//[a2]=r1
/////////
r1=0x0001
[P_ADC_MUX_Ctrl]=r1
r1=0x0013
[P_ADC_Ctrl]=r1
//////////////////
////////////////////
r1=0xff9f
[P_TimerA_Data]=r1;
r1=0x002c
[P_TimerA_Ctrl]=r1;
r1=0x2000
[P_INT_Ctrl]=r1;
r2=0x0001
[counter]=r2
int fiq
loop_fiq:
r1=[a1]
[P_IOA_Data]=r1
r2=[a2]
[P_IOA_Data]=r2
jmp loop_fiq
////////////////////////////////////////////////////
///////////////////////////////////////////////////
.text
.public _FIQ
_FIQ:
push r1,r5 to [sp]
r1=0x8000
test r1,[P_INT_Ctrl]
jne L_FIQ_PWM
r1=0x2000
test r1,[P_INT_Ctrl]
jne L_FIQ_TMA
L_FIQ_TB:
r1=0x8000
[P_INT_Clear]=r1;
pop r1,r5 from [sp]
reti
L_FIQ_PWM:
[P_INT_Clear]=r1
pop r1,r5 from [sp]
reti
L_FIQ_TMA:
[P_INT_Clear]=r1;
call convert
over:
pop r1,r5 from [sp]
reti
//////////////////////////////////////////////////
convert:
r1=[P_ADC_MUX_Data]
r1=r1&0xffc0
r1=r1 lsl 2
r1=r1&0xff00//r1是八位数值
////////
r2=r1&0x0f00//r2低四位数值
[a1]=r2
/////////
r3=r1 lsr 4
r3=r3&0x0f00//r3是高四位数值
[a2]=r3
////////
r1=r1 lsr 4
r1=r1 lsr 4
//////////////////////////////
call display
retf
display:
d0:
cmp r1,0x0000
jne d1
r1=0x3f10
r2=0x3f20
call show
d1:
cmp r1,0x0001
jne d2
r1=0x0610
r2=0x3f20
call show
d2:
cmp r1,0x0002
jne d3
r1=0x5b10
r2=0x3f20
call show
d3:
cmp r1,0x0003
jne d4
r1=0x4f10
r2=0x3f20
call show
d4:
cmp r1,0x0004
jne d5
r1=0x6610
r2=0x3f20
call show
d5:
cmp r1,0x0005
jne d6
r1=0x6d10
r2=0x3f20
call show
d6:
cmp r1,0x00006
jne d7
r1=0x7d10
r2=0x3f20
call show
d7:
cmp r1,0x0007
jne d8
r1=0x0710
r2=0x3f20
call show
d8:
cmp r1,0x0008
jne d9
r1=0x7f10
r2=0x3f20
call show
d9:
cmp r1,0x0009
jne d10
r1=0x6f10
r2=0x3f20
call show
d10:
cmp r1,0x000a
jne d11
r1=0x3f10
r2=0x0620
call show
d11:
cmp r1,0x000b
jne d12
r1=0x0610
r2=0x0620
call show
d12:
cmp r1,0x000c
jne d13
r1=0x5b10
r2=0x0620
call show
d13:
cmp r1,0x000d
jne d14
r1=0x4f10
r2=0x0620
call show
d14:
cmp r1,0x000e
jne d15
r1=0x6610
r2=0x0620
call show
d15:
cmp r1,0x000f
jne d16
r1=0x6d10
r2=0x0620
call show
d16:
cmp r1,0x0010
jne d17
r1=0x7d10
r2=0x0620
call show
d17:
cmp r1,0x0011
jne d18
r1=0x0710
r2=0x0620
call show
d18:
cmp r1,0x0012
jne d19
r1=0x7f10
r2=0x0620
call show
d19:
cmp r1,0x0013
jne d20
r1=0x6f10
r2=0x0620
call show
d20:
cmp r1,0x0014
jne d21
r1=0x0610
r2=0x5b20
call show
d21:
cmp r1,0x0015
jne d22
r1=0x0610
r2=0x5b20
call show
d22:
cmp r1,0x0016
jne d23
r1=0x5b10
r2=0x5b20
call show
d23:
cmp r1,0x0017
jne d24
r1=0x4f10
r2=0x5b20
call show
d24:
cmp r1,0x0018
jne d25
r1=0x6610
r2=0x5b20
call show
d25:
cmp r1,0x0019
jne d26
r1=0x6d10
r2=0x5b20
call show
d26:
cmp r1,0x001a
jne d27
r1=0x7d10
r2=0x5b20
call show
d27:
cmp r1,0x001b
jne d28
r1=0x0710
r2=0x5b20
call show
d28:
cmp r1,0x001c
jne d29
r1=0x7f10
r2=0x5b20
call show
d29:
cmp r1,0x001d
jne d30
r1=0x0710
r2=0x5b20
call show
d30:
cmp r1,0x001e
jne d31
r1=0x6710
r2=0x5b20
call show
d31:
cmp r1,0x001f
jne d32
r1=0x0610
r2=0x4f20
call show
d32:
cmp r1,0x0020
jne d33
r1=0x5b10
r2=0x4f20
call show
d33:
cmp r1,0x0021
jne d34
r1=0x4f10
r2=0x4f20
call show
d34:
cmp r1,0x0022
jne d35
r1=0x6610
r2=0x4f20
call show
d35:
cmp r1,0x0023
jne d36
r1=0x7d10
r2=0x4f20
call show
d36:
cmp r1,0x0024
jne d37
r1=0x7d10
r2=0x4f20
call show
d37:
cmp r1,0x0025
jne d38
r1=0x0710
r2=0x4f20
call show
d38:
cmp r1,0x0026
jne d39
r1=0x7f10
r2=0x4f20
call show
d39:
cmp r1,0x0027
jne d40
r1=0x0f10
r2=0x4f20
call show
d40:
cmp r1,0x0028
jne d41
r1=0x3f10
r2=0x6620
call show
d41:
cmp r1,0x0029
jne d42
r1=0x0610
r2=0x6620
call show
d42:
cmp r1,0x002a
jne d43
r1=0x4f10
r2=0x6620
call show
d43:
cmp r1,0x002b
jne d44
r1=0x4f10
r2=0x6620
call show
d44:
cmp r1,0x002c
jne d45
r1=0x6610
r2=0x6620
call show
d45:
cmp r1,0x002d
jne d46
r1=0x6d10
r2=0x6620
call show
d46:
cmp r1,0x002e
jne d47
r1=0x7d10
r2=0x6620
call show
d47:
cmp r1,0x002f
jne d48
r1=0x0710
r2=0x6620
call show
d48:
cmp r1,0x0030
jne d49
r1=0x7f10
r2=0x6620
call show
d49:
cmp r1,0x0031
jne d50
r1=0x0f10
r2=0x6620
call show
d50:
cmp r1,0x0032
jne show
r1=0x3f10
r2=0x6d20
show:
[a1]=r1
[a2]=r2
retf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -