PersonalCorpus 版 (精华区)
发信人: asaki (牙子·:-#), 信区: Asm
标 题: Re: 在汇编中,如何实现有符号整数的运算?
发信站: 哈工大紫丁香 (2003年05月27日15:37:08 星期二), 站内信件
给你个51汇编的带符号乘法子程序。R0乘数低位,R1被乘数低位,R3位数(n)
结果低位 (R1)-n,R3结果位数。
这些都有子程序库了。
SNIMUL:
MOV A,R0
MOV R4,A
MOV A,R1
MOV R5,A
MOV A,R3
MOV R7,A
DEC A
MOV R6,A
ADD A,R4
MOV R1,A
MOV A,@R1
ANL A,#80H
MOV R2,A
JZ SF21
SETB C
SF23: MOV A,@R0
CPL A
ADDC A,#00H
MOV @R0,A
INC R0
DJNZ R3,SF23
SF21: MOV A,R5
ADD A,R6
MOV R1,A
MOV A,@R1
ANL A,#80H
MOV R6,A
JZ SF22
MOV A,R5
MOV R1,A
MOV A,R7
MOV R3,A
SETB C
SF24: MOV A,@R1
CPL A
ADDC A,#00H
MOV @R1,A
INC R1
DJNZ R3,SF24
SF22: MOV A,R2
XRL A,R6
PUSH ACC;
MOV A,R4
MOV R0,A
MOV A,R7
MOV R3,A
MOV A,R5
MOV R1,A
LCALL SE20
POP ACC;
JZ SF20
MOV A,R2
MOV R3,A
MOV A,R0
MOV R1,A
LCALL NINORM
SF20: MOV A,R2
MOV R3,A
RET
NINORM: SETB C
SC40: MOV A,@R1
CPL A
ADDC A,#00H
MOV @R1,A
INC R1
DJNZ R3,SC40
RET
【 在 jialin (jialin) 的大作中提到: 】
: 能有一个简单的例子更好啊!
:
--
▁\ | /▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁
▕ ╲ ╱ * ▏
▕ ◢◤◥◣ 閃爍的你的光彩 .﹡。 ∵ ▏
▕ ◥◣◢◤ 紛飛的我的夢境 ﹡; *. ▏
◥__◥◤________________‥____﹡___________∴·。_____▏
˙‥﹡ ˙﹡
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.248.68]
※ 修改:·asaki 於 05月27日15:38:04 修改本文·[FROM: 202.118.248.68]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.068毫秒