找回密码
 立即注册
楼主: 道清

16位乘除法器,是什么

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-08-28 05:43:12
已绑定手机

3

主题

28

回帖

95

积分

注册会员

积分
95
发表于 2025-8-25 14:36:01 | 显示全部楼层
第2个程序,程序输入单片机后就显示   90000

帮我写80C51单片机双字节汇编程序:总数12345。先把个位存入10H。十位除10,商存入11H。百位除100,商存入12H。千位除1000,商存入13H。万位除10000,商存入14H。


ORG     0000H
        LJMP    MAIN

        ORG     0030H
MAIN:   MOV     DPTR, #12345   ; 加载双字节数12345
        MOV     R0, #10H       ; 设置存储起始地址

        ; 提取个位(12345 MOD 10)
        MOV     A, DPL
        MOV     B, #10
        DIV     AB
        MOV     @R0, B         ; 个位存入10H
        INC     R0

        ; 提取十位(12345/10 MOD 10)
        MOV     A, DPL
        MOV     B, #10
        DIV     AB
        MOV     A, B
        MOV     B, #10
        DIV     AB
        MOV     @R0, B         ; 十位存入11H
        INC     R0

        ; 提取百位(12345/100 MOD 10)
        MOV     A, DPH
        MOV     B, #100
        DIV     AB
        MOV     @R0, A         ; 百位存入12H
        INC     R0

        ; 提取千位(12345/1000 MOD 10)
        MOV     A, DPH
        MOV     B, #10
        DIV     AB
        MOV     @R0, A         ; 千位存入13H
        INC     R0

        ; 提取万位(12345/10000)
        MOV     A, DPH
        MOV     B, #1
        DIV     AB
        MOV     @R0, A         ; 万位存入14H

        SJMP    $              ; 程序结束
        END
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:645
  • 最近打卡:2025-09-03 12:51:23

11

主题

1233

回帖

6006

积分

论坛元老

积分
6006
发表于 2025-8-25 23:03:48 | 显示全部楼层
MDU16硬件乘/除移位指令
  1. $NOMOD51
  2. NAME     UIDIV
  3. /**********************************************************************************************
  4. * int  R6R7 uidiv(int R6R7, int R4R5);   出口:余数int R4R5
  5. * result = value1 / value2
  6. *  16位/16位-->16位(无符号二进制除法)  
  7. * R6R7 = R6R7 / R4R5  (出口:余数R4R5)
  8. * note: if value2 ==0 , result = value1;
  9. *  用   途  :STC8系列MCU
  10. *  作   者  :许意义
  11. *  版   本  :2.00
  12. *  日   期  :2022-12-12  
  13. **********************************************************************************************/
  14. CLR_EA                   MACRO   
  15.                         MOV         C, EA
  16.                         CLR                EA
  17.                         PUSH    P_SW2
  18.                         ORL     P_SW2,#0x80
  19.                                  ENDM  
  20. SETB_EA                   MACRO  
  21.                         POP     P_SW2
  22.                         MOV         EA, C
  23.                                  ENDM  
  24. LD_MD                    MACRO      BYTE_X, INC_DPTR
  25.                         MOV      A,BYTE_X
  26.                         MOVX     @DPTR,A
  27.                 IF  INC_DPTR
  28.                         INC      DPTR
  29.                 ENDIF
  30.                                  ENDM  
  31. ST_MD                    MACRO      BYTE_X, INC_DPTR
  32.                         MOVX     A,@DPTR
  33.                         MOV      BYTE_X,A
  34.                 IF  INC_DPTR
  35.                         INC      DPTR
  36.                 ENDIF
  37.                                  ENDM  
  38. WAIT                    MACRO
  39.                         MOV      A,#0x01
  40.                         MOVX     @DPTR,A
  41.                         MOVX     A,@DPTR
  42.                         JB       ACC.0,$-1
  43.                                  ENDM  
  44. //NOMOD51 SET (SMALL) DEBUG EP
  45. //SET (SMALL) DEBUG EP
  46. ; 特殊功能寄存器和位
  47. P_SW2        DATA        0BAH                   ; Bit7: EAXFR
  48. ACC                DATA    0E0H
  49. B                DATA    0F0H
  50. PSW                DATA    0D0H
  51. SP                DATA    81H
  52. DPL                DATA    82H
  53. DPH                DATA    83H
  54. IE                DATA    0A8H
  55. OV          BIT           0D0H.2
  56. P                BIT           0D0H.0
  57. F0                BIT          0D0H.5
  58. F1                BIT           0D0H.1
  59. RS1          BIT           0D0H.4
  60. RS0          BIT           0D0H.3
  61. AC          BIT           0D0H.6
  62. CY          BIT           0D0H.7
  63. EA          BIT           0A8H.7
  64. ; MODE[2:0]= 1, 右移(clock:3-18);  MODE[2:0]= 2, 左移(clock:3-18);  MODE[2:0]= 3, 数据规格化(clock:3-20)  
  65. ; MODE[2:0]= 4, 16位乘法(clock:10);  MODE[2:0]= 5, 16位除法(clock:9);  MODE[2:0]= 6, 32位/16位(clock:17)  
  66. ARCON   DATA        0FCF6H                   ; Bit[7:5]: MODE[2:0],     Bit[4:0]: SC[4:0]
  67. OPCON        DATA        0FCF7H                   ; Bit6: MDOV,  Bit1: RST,  Bit0: ENOP
  68. MD3     DATA        0FCF0H
  69. MD2                DATA        0FCF1H
  70. MD1     DATA        0FCF2H
  71. MD0                DATA        0FCF3H
  72. MD5     DATA        0FCF4H
  73. MD4                DATA        0FCF5H
  74. ?PR?_UIDIV?UIDIV SEGMENT CODE         
  75. PUBLIC ?C?UIDIV
  76. RSEG  ?PR?_UIDIV?UIDIV
  77. ?C?UIDIV:
  78.                         CLR_EA
  79.                         MOV      DPTR, #MD1
  80.                         LD_MD    R6, +1
  81.                         LD_MD    R7, +1
  82.                         LD_MD    R4, +1
  83.                         LD_MD    R5, +1
  84. //                        MOV      DPTR,#ARCON
  85.                         LD_MD         #0xA0, +1                           // 16位/16位除法(clock:9)
  86.                         WAIT
  87.                         MOV         DPTR, #MD1
  88.                         ST_MD    R6, +1
  89.                         ST_MD    R7, +1
  90.                         ST_MD    R4, +1
  91.                         ST_MD    R5,  0
  92.                         SETB_EA
  93.                         RET
  94.                
  95.                         END
复制代码

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:645
  • 最近打卡:2025-09-03 12:51:23

11

主题

1233

回帖

6006

积分

论坛元老

积分
6006
发表于 2025-8-25 23:06:26 | 显示全部楼层
8H系列/8G系列, MDU16 V3.0 LIB 库使用说明
MDU16 V3.0 LIB 库使用说明

回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-4 02:19 , Processed in 0.115466 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表