MCS51辛普生积分程序源代码(ASM)

嵌入式设计应用

133人已加入

描述

MCS51辛普生积分程序源代码(ASM)

;辛普生积分程序
;入口    :DPTR,N,COUNT
;占用资源:ACC,R3,R4,R6,R7
;堆栈需求:2字节
;出口    :R3,R4

SJF      :MOV    R7,N
          MOVX   A,@DPTR
          INC    DPTR
          MOV    R4,A
          MOV    R3,#00H
          DEC    R7
SJF1     :MOVX   A,@DPTR
          INC    DPTR
          CLR    C
          RLC    A
          MOV    R6,A
          CLR    A
          RLC    A
          XCH    A,R7
          JNB    ACC.0,SJF2
          XCH    A,R6
          RLC    A
          XCH    A,R6
          XCH    A,R7
          RLC    A
          XCH    A,R7
SJF2     :XCH    A,R7
          XCH    A,R6
          ADD    A,R4
          MOV    R4,A
          MOV    A,R6
          ADDC   A,R3
          MOV    R3,A
          DJNZ   R7,SJF1
SJF3     :MOVX   A,@DPTR
          ADD    A,R4
          MOV    R4,A
          CLR    A
          ADDC   A,R3
          MOV    R3,A
          MOV    R7,#COUNT
          LCALL  NMUL21
          MOV    A,N
          MOV    B,#03H
          MUL    AB
          MOV    R7,A
          LCALL  NDIV31
          RET

NMUL21   :MOV    A,R4
          MOV    B,R7
          MUL    AB
          MOV    R4,A
          MOV    A,B
          XCH    A,R3
          MOV    B,R7
          MUL    AB
          ADD    A,R3
          MOV    R3,A
          CLR    A
          ADDC   A,B
          MOV    R2,A
          CLR    OV
          RET

NDIV31   :MOV    B,#10H
NDV311   :CLR    C
          MOV    A,R4
          RLC    A
          MOV    R4,A
          MOV    A,R3
          RLC    A
          MOV    R3,A
          MOV    A,R2
          RLC    A
          MOV    R2,A
          MOV    F0,C
          CLR    C
          SUBB   A,R7
          JB     F0,NDV312
          JC     NDV313
NDV312   :MOV    R2,A
          INC    R4
NDV313   :DJNZ   B,NDV311
          RET

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分