您的位置:控制工程论坛网论坛 » 软件与程序 » MCS-51单片机实用子程序库 ;51复制数据程序

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

MCS-51单片机实用子程序库 ;51复制数据程序

xilinxue  发表于 2009/2/9 15:17:48      1369 查看 3 回复  [上一主题]  [下一主题]

手机阅读

;外部RAM数据复制到内部RAM程序
;入口: ADDPH,ADDPL,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R0
C_RAM_Copy_TO_EPRAM:
 MOV A,ADDPL
 ADD  A,R7
 MOV  DPL,A
 MOV  A,ADDPH
 ADDC  A,#00H
 MOV  DPH,A
 MOV  A,R0
 ADD  A,R7
 MOV  R0,A
C_RAM_Copy_TO_EPRAM_Loop_1:
 DEC  R0
 DEC  DPL
 MOV  A,DPL
 CJNE  A,#0FFH,C_RAM_Copy_TO_EPRAM_Loop_2
 DEC  DPH
C_RAM_Copy_TO_EPRAM_Loop_2:
 MOVX  A,@DPTR
 MOV  @R0,A
 DJNZ  R7,C_RAM_Copy_TO_EPRAM_Loop_1
 RET
1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/9 13:02:30

    ;内部RAM数据复制程序
    ;入口: R0,R7
    ;占用资源: A
    ;堆栈需求: 2字节
    ;出口: R1
    C_Copy_RAM:
     MOV A,R0
     ADD  A,R7
     MOV  R0,A
     MOV  A,R1
     ADD  A,R7
     MOV  R1,A
    C_Copy_RAM_Loop:
     DEC  R0
     DEC R1
     MOV A,@R0
     MOV @R1,A
     DJNZ R7,C_Copy_RAM_Loop
     RET
    2楼 回复本楼

    引用 xilinxue 2009/2/9 13:02:30 发表于2楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/9 15:17:20

    ;外部RAM数据复制程序
    ;入口: ADDPH,ADDPL,R7
    ;占用资源: ACC
    ;堆栈需求: 2字节
    ;出口: R0,R1
    C_Copy_EPRAM:
     MOV A,ADDPL
     ADD  A,R7
     MOV  DPL,A
     CLR  A
     ADDC  A,ADDPH
     MOV  DPH,A
     MOV  A,R7
     ADD  A,R1
     XCH  A,R0
     ADDC  A,#00H
     MOV  P2,A
    C_Copy_EPRAM_Loop_1:
      DEC  R0
     CJNE  R0,#0FFH,C_Copy_EPRAM_Loop_2
     DEC  P2
    C_Copy_EPRAM_Loop_2:
     DEC  DPL
     MOV  A,DPL
     CJNE  A,#0FFH,C_Copy_EPRAM_Loop_3
     DEC  DPH
    C_Copy_EPRAM_Loop_3:
     MOVX  A,@R0
     MOVX  @DPTR,A
     DJNZ  R7,C_Copy_EPRAM_Loop_1
     RET
    3楼 回复本楼

    引用 xilinxue 2009/2/9 15:17:20 发表于3楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/9 15:17:48

    ;外部RAM数据复制程序
    ;入口: ADDPH,ADDPL,R6,R7
    ;占用资源: ACC
    ;堆栈需求: 2字节
    ;出口: R0,R1
    C_Copy_Double_EPRAM:
     MOV A,ADDPL
     ADD  A,R7
     MOV  DPL,A
     MOV  A,R6
     ADDC  A,ADDPH
     MOV  DPH,A
     MOV  A,R7
     ADD  A,R1
     XCH  A,R0
     ADDC  A,R6
     MOV  P2,A
     MOV  A,R7
     JZ  EBM21
     INC  R6
    C_Copy_Double_EPRAM_1:
     DEC  R0
     CJNE  R0,#0FFH,C_Copy_Double_EPRAM_2
     DEC  P2
    C_Copy_Double_EPRAM_2:
     DEC  DPL
     MOV  A,DPL
     CJNE  A,#0FFH,C_Copy_Double_EPRAM_3
     DEC  DPH
    C_Copy_Double_EPRAM_3:
     MOVX  A,@R0
     MOVX  @DPTR,A
     DJNZ  R7,C_Copy_Double_EPRAM_1
     DJNZ  R6,C_Copy_Double_EPRAM_1
     RET
    4楼 回复本楼

    引用 xilinxue 2009/2/9 15:17:48 发表于4楼的内容

总共 , 当前 /