📄 5-6-1.asm
字号:
FUMUL: MOV A,R1 ;取被乘数送入累加器A
RLC A ;符号位送入CY
MOV 00H,C ;存被乘数的符号
MOV A,R0 ;取乘数
RLC A ;符号位送入CY
MOV 01H,C ;存乘数的符号
ANL C,/00H
MOV 02H,C ;暂存到02H位
ANL C,00H ;取被乘数符号
MOV C,/01H
ORL C,02H ;或运算
MOV 02H,C ;存积的符号
MOV A,R0 ;取乘数
JNB ACC.7,FUN1 ;乘数为正则转向FUN1
CPL A ;乘数为负则求补
INC A
FUN1: MOV B,A ;乘数存入B
MOV A,R1 ;取被乘数
JNB ACC.7,FUN2 ;被乘数为正则转向FUN2
CPL A ;被乘数为负则求补
INC A
FUN2: MUL AB ;相乘
JNB 02H,FUN3 ;积为正则转向FUN3
CPL A ;积为负则求补
ADD A,#01H ;需用加法来加1
FUN3: MOV R2,A ;存积的低8位
MOV A,B ;积的高8位送A
JNB 02H,FUN4 ;积为正则转向FUN4
CPL A ;高8位取反
ADDC A,#00H ;加进位
FUN4: MOV R3,A ;存积的高8位
RET ;返回
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -