📄 10-16转换.asm
字号:
;char BAI,SHI,GE,i = 9;
LDI R20,0x09
;QIAN = 0x3e8;
LDI R24,0xE8
LDI R25,0x03
MOVW R10,R24
;BAI = 0X64;
LDI R24,0x64
MOV R12,R24
;SHI = 0X0A;
LDI R22,0x0A
;TEN = QIAN * i + BAI * i + SHI * i + i;
MUL R12,R20
MOVW R2,R0
MOV R18,R20
CLR R19
MOVW R16,R10
RCALL subroutine
MOVW R10,R16
ADD R10,R2
ADC R11,R3
MUL R22,R20
ADD R10,R0
ADC R11,R1
MOV R2,R20
CLR R3
ADD R10,R2
ADC R11,R3
ret
subroutine:
MUL R16,R18
MOVW R24,R0
MUL R17,R18
ADD R25,R0
MUL R16,R19
ADD R25,R0
MOVW R16,R24
RET
;通用子程序
Data10To16Sub:
ldi R22,0xE8
ldi R23,0x03
ldi r24,0x64
mov r10,r24
ldi r20,0x0a
ldi r24,0x00`
mul r24,r10
movw r2,r0
ldi r16,0x00
ldi r17,0x00
movw r18,r22
mul r16,r18
movw r24,r0
mul r17,r18
add r25,r0
mul r16,r19
add r25,r0
movw r16,r24
movw r4,r16
add r4,r2
adc r5,r3
ldi r24,0x09
mul r24,r20
add r4,r0
adc r5,r1
ldi R16,0x09
clr r17
clc
ADD R4,r16
ADC R5,r17
ret
;标准子程序
LDI R20,0x08
;QIAN = 0x3e8;
LDI R24,0xE8
LDI R25,0x03
MOVW R10,R24
;BAI = 0X64;
LDI R24,0x64
MOV R12,R24
;SHI = 0X0A;
LDI R22,0x0A
;TEN = QIAN * i + BAI * i + SHI * i + i;
MUL R12,R20
MOVW R2,R0
MOV R18,R20
CLR R19
MOVW R16,R10
;RCALL subroutine
MUL R16,R18
MOVW R24,R0
MUL R17,R18
ADD R25,R0
MUL R16,R19
ADD R25,R0
MOVW R16,R24
MOVW R10,R16
ADD R10,R2
ADC R11,R3
MUL R22,R20
ADD R10,R0
ADC R11,R1
MOV R2,R20
CLR R3
ADD R10,R2
ADC R11,R3
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -