用左移减法做单字节除法运算

发布者:心境恬淡最新更新时间:2015-07-07 来源: 51hei关键字:左移减法  单字节  除法运算 手机看文章 扫描二维码
随时随地手机看文章
;只能整数运算及非0运算
 ORG 0000H
 JMP A1
 ORG 002BH
A1: MOV R0,#00001001B;被除数
 MOV R1,#0;余数
 MOV R2,#0;商
 MOV R5,#00000011B;除数
 MOV 33H,#8;左移8次16位除法左移16次
A2: MOV A,R0
 RLC A
 MOV R0,A
 MOV A,R1
 RLC A
 MOV R1,A
CLR C;清C因为减法A=A-C-R5
 SUBB A,R5;用移位后的数减去商
 JC A3 ;比较大小
 MOV R1,A;大的则把余数保存起来下次再减
A3: CPL C;商值处理
 MOV A,R2;商值移位
 RLC A
 MOV R2,A
 DJNZ 33H,A2;是否完成
 JMP $
;思路---只要R1-R5不小于0商就置1并将余数赋值给R1
;             R1             R5                           R2
;1、00000000-00000011小于0,商值为00000000
;2、00000000-00000011小于0,商值为00000000
;3、00000000-00000011小于0,商值为00000000
;4、00000000-00000011小于0,商值为00000000
;5、00000001-00000011小于0,商值为00000000
;6、00000010-00000011小于0,商值为00000000
;7、00000100-00000011大于0,商值为00000001,余数为00000001赋值给R1
;8、00000011-00000011等于0,商值为00000011,余数为00000000
;至此算法完成
;注:单字节是循环8次,如果是双字节就要循环16次,依次类推

 end
关键字:左移减法  单字节  除法运算 引用地址:用左移减法做单字节除法运算

上一篇:CAN网络 其特性阻抗及终端阻抗
下一篇:用移位减法做4位16进制数除以4位16进制数运算

推荐阅读最新更新时间:2024-03-16 14:24

基于ARM的除法运算优化策略
  与传统的4/8位单片机相比,ARM的性能和处理能力是遥遥领先的。但与之相应,ARM的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对ARM芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的优化等。   ARM在硬件上不支持除法指令,编译器是通过调用C库函数来实现除法运算的,有许多不同类型的除法程序来适应不同的除数和被除数。但直接利用C库函数中的标准整数除法程序,根据执行情况和输入操作数的范围,要花费20~100个周期,消耗较多的软件运行时间。在实时嵌入式应用中,对时间参数较为敏感,故可以考虑如何优化避免除法消耗过多的CPU运行时间。   除法和模运算(/和%)执行起来比较慢
[单片机]
基于ARM的<font color='red'>除法</font><font color='red'>运算</font>优化策略
左移减法做4位16进制数除以2位16进制数运算
;只能整数运算及非0运算 ORG 0000H JMP A1 ORG 002BH A1: MOV R0,#04H;被除数 MOV R1,#0D2H;被除数 MOV R2,#0;余数 MOV R3,#0;商 MOV R4,#0;商 MOV R5,#34;除数 MOV 30H,#16 A2: MOV A,R1;先把移低字节移到高字节位 RLC A; MOV R1,A; MOV A,R0;先处理高字节和接收低字节传上来的位字节 RLC A; MOV R0,A; MOV A,R2;把移出来的数处理 RLC A; MOV R2,A; CLR C;清C因为减法A=A-C-R5 SUBB A,R5;移出来的数
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
502 Bad Gateway

502 Bad Gateway


openresty
设计资源 培训 开发板 精华推荐

502 Bad Gateway

502 Bad Gateway


openresty
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
随便看看
    502 Bad Gateway

    502 Bad Gateway


    openresty
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
502 Bad Gateway

502 Bad Gateway


openresty