📄 myasm1.asm
字号:
ORG 0
STRT:
JKB STRT
LDA 8001H
MOV R0,A; ----------------------------------------------被乘数a送R0
L1:
JKB L1
LDA 8001H
mov R1,A; ----------------------------------------------乘数b送R1
MOV A,#1
STA 8002H;---------------------------------------------打印“x”
L2:
JPB L2
MOV A,#0AH
STA 8002H;---------------------------------------------打印空格
L3:
JPB L3
MOV A,#10H
ADD A,R0
STA 8002H;---------------------------------------------打印a后换行
L4:
JPB L4
MOV A,#9
STA 8002H;---------------------------------------------打印“=”
L5:
JPB L5
MOV A,#0AH
STA 8002H;---------------------------------------------打印空格
L6:
JPB L6
MOV A,#10H
ADD A,R1
STA 8002H;--------------------------------------------打印b后换行
L7:
JPB L7
MOV A,#0AH
STA 8002H;--------------------------------------------打印空格
L8:
JPB L8
MOV A,#0AH
STA 8002H;--------------------------------------------打印空格
L9:
MOV A,R0
MOV R3,A; a送R3
MOV A,R1
MOV R2,#1
SUB A,R2
MOV R1,A;---------------------------------------------b -1
L10:
MOV A,R3
ADD A,R0
MOV R3,A;---------------------------------------------- a+a
MOV A,R1
SUB A,R2;---------------------------------------------- b-1
MOV R1,A
JC OVER; ---------------------------------------------- 如产生借位,需恢复
JMP L10
L11:
MOV R4,#0;--------------------------------------------计数器R4清零
L12:
MOV A,R4
ADD A,R2; ---------------------------------------------R2中的数是1
MOV R4,A;--------------------------------------------- 计数器R4增1
MOV A,R3
MOV R5,#10H
SUB A,R5;--------------------------------------------- 结果高4位减1
MOV R3,A
JC OVER2
JMP L12
L13:
JPB L13
MOV A,R3
STA 8002H;----------------------------------------- 打印结果低4位
L14:
JPB L14
MOV A,#10H
ADD A,R4
STA 8002H; ---------------------------------------打印结果高4位
OUT:
STA 8002H
L15:
JPB L15
JMP STRT
OVER:
MOV A,R3
SUB A,R0
MOV R3,A; ----------------------------------------产生8位结果,送R3
JMP L11
OVER2:
MOV A,R4
SUB A,R2;---------------------------------------- 计数器减1
MOV R4,A
MOV A,R3
ADD A,R5
MOV R3,A; ---------------------------------------- R3保存结果低4位
JMP L13
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -