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毫秒