⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcu89c51hoter.asm

📁 这是用8951开发的便携式心电监护仪
💻 ASM
📖 第 1 页 / 共 5 页
字号:
S3L:    MOVX  A, @R1
        MOVX  @R0, A
        INC   R0
        INC   R1
        MOVX  A, @R1
        MOVX  @R0, A
        INC   R0
        INC   R1
        DJNZ  R5, S3L
        RET
;=======================
DIFF:   PUSH  PSW
        MOV   PSW, #24
DF0L:   MOV   R0, #0
        MOV   R1, #0
        MOV   R2, #0
        MOV   R3, #0
        MOV   R4, #0
        MOV   R5, #0
        MOV   R6, #0
        MOV   R7, #0
DF1L:   MOVX  A, @DPTR
        MOV   65H, A
        INC   DPTR
        INC   DPTR
        MOV   A, DPH
        CLR   C
        SUBB  A, #16
        JC    DF10
        POP   PSW
        RET
DF10:   MOVX  A, @DPTR
        CLR   C
        SUBB  A, 65H
        JNC   DF11
        CPL   A
        INC   A
DF11:   LCALL SS21
        CLR   C
        SUBB  A, #63
        JNC   DF12
        MOV   A, 65H
        JZ    DF1L
        CLR   C
        SUBB  A, #2
        JNC   DF1L
DF12:   LCALL CRR
        MOV   A, DPL
        ADD   A, #32
        JNC   DF13
        INC   DPH
DF13:   MOV   DPL, A
        SJMP  DF0L
;=======================
DF14:   MOV   R0, #0
        MOVX  A, @R0
        INC   A
        MOVX  @R0, A
        ADD   A, ACC
        MOV   R0, A
        MOV   A, DPH
        MOVX  @R0, A
        INC   R0
        MOV   A, DPL
        MOVX  @R0, A
        RET
;=======================
SUB4:   MOV   R0, #0
        MOVX  A, @R0
        JNZ   S41
        RET
S41:    MOV   R0, A
        MOV   R1, #2
S4L0:   MOVX  A, @R1
        MOV   DPH, A
        INC   R1
        MOVX  A, @R1
        MOV   DPL, A
        DEC   R1
        SUBB  A, #18
        JNC   S42
        DEC   DPH
S42:    MOV   DPL, A
        PUSH  0H
        MOV   R0, #32
        MOV   R6, #0
S4L1:   MOVX  A, @DPTR
        CLR   C
        SUBB  A, R6
        JC    S43
        MOVX  A, @DPTR
        MOV   R6, A
        MOV   R4, DPH
        MOV   R5, DPL
S43:    INC   DPTR
        DJNZ  R0, S4L1
        POP   0H
        MOV   A, R4
        MOVX  @R1, A
        INC   R1
        MOV   A, R5
        MOVX  @R1, A
        INC   R1
        DJNZ  R0, S4L0
        RET
ANA1S:  MOV   PSW, #24
        MOV   R0, #1
        MOV   A, #0
        MOVX  @R0, A
        MOV   R0, #96
        MOV   R1, #12
AN10:   MOVX  @R0, A
        INC   R0
        DJNZ  R1, AN10
AN11:   MOV   R0, #0
        MOVX  A, @R0
        MOV   R1, A
        INC   R0
        MOVX  A, @R0
        CLR   C
        SUBB  A, R1
        JNC   AN13
        MOVX  A, @R0
        INC   A
        MOVX  @R0, A
        ADD   A, ACC
        MOV   R0, A
        MOVX  A, @R0
        MOV   DPH, A
        INC   R0
        MOVX  A, @R0
        MOV   DPL, A
        LCALL MSP
        MOV   A, R2
        ADD   A, R3
        MOV   R0, #97
        XCH   A, R3
        MOVX  A, @R0
        ADD   A, R3
        MOVX  @R0, A
        JNC   AN12
        DEC   R0
        MOVX  A, @R0
        INC   A
        MOVX  @R0, A
AN12:   SJMP  AN11
AN13:   MOV   R0, #96
        MOVX  A, @R0
        MOV   R3, A
        INC   R0
        MOVX  A, @R0
        MOV   R1, A
        MOV   R0, #0
        MOVX  A, @R0
        MOV   R0, A
        MOV   A, R3
        LCALL DIVB
        MOV   76H, R1
        RET
;=======================
MSP:    MOV   PSW, #24
        MOV   7EH, DPH
        MOV   7FH, DPL
        MOVX  A, @DPTR
        CLR   C
        SUBB  A, R1
        JNC   MP11
        CPL   A
        INC   A
MP11:   MOV   B, #10
        DIV   AB
        MOV   R0, A
        MOV   R2, #1
MP12:   LCALL DDD
        SUBB  A, R0
        JC    mp13
        INC   R2
        SJMP  MP12
MP13:   MOV   R4, #4
MP14:   LCALL DDD
        SUBB  A, R0
        JNC   MP15
        DJNZ  R4, MP14
        SJMP  MP16
MP15:   MOV   A, #5
        CLR   C
        SUBB  A, R4
        ADD   A, R2
        MOV   R2, A
        INC   R2
        INC   R2
MP16:   MOV   A, R2
        PUSH  ACC
        MOV   DPH, 7EH
        MOV   DPL, 7FH
        MOV   R0, #16
        LCALL MS1
        MOV   A, R7
        JNZ   MP17
        POP   ACC
        MOV   R2, A
        MOV   A, #0
        RET
MP17:   MOV   A, R4
        JNZ   MP18
        LJMP  MP1B
MP18:   MOV   A, #17
        CLR   C
        SUBB  A, R2
        PUSH  ACC
        ADD   A, 7FH
        MOV   DPL, A
        MOV   DPH, 7EH
        JNC   MP19
        INC   DPH
        ANL   DPH, #0FH
MP19:   MOV   R0, #22
        LCALL MS1
        MOV   A, R7
        JZ    MP1A
        MOV   A, R5
        JZ    MP1A
        MOV   A, #22
        CLR   C
        SUBB  A, R3
        MOV   R3, A
        POP   ACC
        ADD   A, R3
        MOV   R3, A
        POP   ACC
        MOV   R2, A
        LJMP  MP1F
MP1A:   POP   ACC
        MOV   R3, A
        POP   ACC
        MOV   R2, A
        LJMP  MP1F
MP1B:   MOV   A, R5
        JNZ   MP1C
        POP   ACC
        MOV   R2, A
        MOV   A, #0
        RET
MP1C:   MOV   A, #17
        CLR   C
        SUBB  A, R3
        PUSH  ACC
        ADD   A, 7FH
        MOV   DPL, A
        MOV   DPH, 7EH
        JNC   MP1D
        INC   DPH
        ANL   DPH, #0FH
MP1D:   MOV   R0, #22
        LCALL MS1
        MOV   A, R7
        JZ    MP1E
        MOV   A, R4
        JZ    MP1E
        MOV   A, #22
        CLR   C
        SUBB  A, R2
        MOV   R3, A
        POP   ACC
        ADD   A, R3
        MOV   R3, A
        POP   ACC
        MOV   R2, A
        LJMP  MP1F
MP1E:   POP   ACC
        MOV   R3, A
        POP   ACC
        MOV   R2, A
MP1F:   MOV   DPH, 7EH
        MOV   DPL, 7FH
        MOV   A, #1
        RET
;=======================
TACT:   MOV   7DH,#0
        MOV   7EH, DPH
        MOV   7FH, DPL
        MOV   A, 56H
        JNZ   TA11
        MOV   A, 57H
        JNZ   TA11
        MOV   56H, DPH
        MOV   57H, DPL
        RET
TA11:   MOV   A, DPL
        CLR   C
        SUBB  A, 57H
        MOV   R0, A
        MOV   A, DPH
        SUBB  A, 56H
        ANL   A, #0FH
        MOV   56H, DPH
        MOV   57H, DPL
        CLR   C
        RRC   A
        JZ    TA12
        MOV   A, #255
        SJMP  TA13
TA12:   MOV   A, R0
        RRC   A
TA13:   XCH   A, 53H
        XCH   A, 52H
        XCH   A, 51H
        XCH   A, 50H
        JNZ   TA14
        RET
TA14:   MOV   R0, #0
        ADD   A, 50H
        JNC   TA15
        INC   R0
TA15:   ADD   A, 51H
        JNC   TA16
        INC   R0
TA16:   ADD   A, 52H
        JNC   TA17
        INC   R0
TA17:   CLR     C
        XCH     A,R0
        RRC     A
        XCH     A,R0
        RRC     A
        CLR     C
        XCH     A,R0
        RRC     A
        XCH     A,R0
        RRC     A
        MOV   55H,A
        MOV     C,ACC.7
        JNC     T18A
        CLR     C
        RRC     A
        MOV     R0,A
        MOV     A,#29
        MOV     R1,#76
        LCALL   DIVB
        MOV     A,R1
        CLR     C
        RRC     A
        MOV     64H,A
        MOV     R1,A
        SJMP    T18B
T18A:   MOV   R0, A
        MOV   A, #29
        MOV   R1, #76
        LCALL DIVB
        MOV   64H, R1
T18B:   MOV     A,8
        JNZ     T18C
        MOV   A, R1
        LCALL DIS1
T18C:   CPL   P1.1
        MOV   A, 64H
        CLR   C
        SUBB  A, 62H
        MOV   R4, #5
        MOV   R5, #2
        JC    TA19
        LJMP  HRI
TA19:   MOV   A, 64H
        CLR   C
        SUBB  A, 63H
        MOV   R4, #6
        MOV   R5, #4
        JNC   TA1A
        LJMP  HRI
TA1A:   MOV   A, 77H
        JZ    TA1B
        LJMP  HRN
TA1B:   MOV   A, 53H
        CLR   C
        SUBB  A, 55H
        JZ      TA20
        JNC   TA1F
        CPL   A
        INC   A
        MOV   B, A
        MOV   A, 55H
        DIV   AB
        CLR   C
        SUBB  A, #3
        JC    TA1D
TA20:   MOV     12H,#0
        MOV   A, 40H
        JZ    TA1C
        LJMP  TA6
TA1C:   RET
TA1D:   MOV   A, 79H
        ADD   A, #1
        MOV   79H, A
        JNC   TA1E
        INC   78H
TA1E:   MOV     A,12H
        JNZ     TA22
        LCALL TACI
TA22:   LJMP    TAAC
;-----------------------
TA1F:   MOV   B, A
        MOV   A, 55H
        DIV   AB
        CLR   C
        SUBB  A, #2
        JNC   TA20
        MOV   A, 7BH
        ADD   A, #1
        MOV   7BH, A
        JNC   TA21
        INC   7AH
TA21:   SJMP  TA1E
;=======================
TAAC:   MOV     A,50H
        CLR     C
        SUBB    A,55H
        JNC     TAA1
        CPL     A
        INC     A
TAA1:   CLR     C
        SUBB    A,#40
        JNC     TAW
        MOV     A,51H
        CLR     C
        SUBB    A,55H
        JNC     TAA2
        CPL     A
        INC     A
TAA2:   CLR     C
        SUBB    A,#40
        JNC     TAW
        MOV     A,52H
        CLR     C
        SUBB    A,55H
        JNC     TAA3
        CPL     A
        INC     A
TAA3:   CLR     C
        SUBB    A,#40
        JNC     TAW
        MOV     A,55H
        CLR     C
        RRC     A
        CLR     C
        MOV     R0,A
        MOV     A,53H
        RRC     A
        ADD     A,R0
        MOV     53H,A
        XRL     12H,#1
TAW:    RET
;=======================
ORG     156CH
DIF2:   MOV   PSW,#24
        MOV   R0, #0
        MOV   R1, #0
        MOV   R2, #0
        MOV   R3, #0
        MOV   R4, #0
        MOV   R5, #0
        MOV   R6, #0
        MOV   R7, #0
DFL0:   DEC   A
        JNZ   DF21
        RET
DF21:   PUSH  ACC
        MOVX  A, @DPTR
        MOV   65H, A
        INC   DPTR
        ANL   DPH, #0FH
        MOVX  A, @DPTR
        CLR   C
        SUBB  A, 65H
        JNC   DF24
        MOV     A,#0
DF24:   LCALL SS21
        CLR   C
        SUBB  A,54H
        JNC   DF25
        CPL     A
        INC     A
        CLR     C
        MOV     B,A
        MOV     A,54H
        DIV     AB
        CLR     C
        SUBB    A,#4
        JNC     DF25
        MOV   A, 65H
        JNZ   DF25
        POP   ACC
        SJMP  DFL0
DF25:   POP   ACC
        MOV     A,DPL
        SUBB    A,#10
        MOV     DPL,A
        JNC     DF26
        DEC     DPH
        ANL     DPH,#0FH
DF26:   MOV   R4, #20
        MOV   R0, #0
        MOV   R1, #255
DFL1:   MOVX  A, @DPTR
        CLR   C
        SUBB  A, R0
        JC    DF27
        ADD   A, R0
        XCH   A, R0
        MOV   R2, 1CH
        SJMP  DF28
DF27:   ADD   A, R0
        CLR   C
        SUBB  A, R1
        JNC   DF28
        ADD   A, R1
        XCH   A, R1
        MOV   R3, 1CH
DF28:   INC   DPTR
        ANL   DPH, #0FH
        DJNZ  R4, DFL1
        MOV   A, DPL
        CLR   C
        SUBB  A, R2
        MOV   DPL, A
        JNC   DF2A
        DEC   DPH
        ANL   DPH, #0FH
DF2A:   MOV   A, #1
        RET
DF2B:   MOV   A, DPL
        CLR   C
        SUBB  A, R3
        MOV   DPL, A
        JNC   DF2C
        DEC   DPH
        ANL   DPH, #0FH
DF2C:   MOV   A, #2
        RET
;=======================
ORG     1620H
DDD:    MOV   A, #255
        ADD   A, DPL
        MOV   DPL, A
        MOV   A, #255
        ADDC  A, DPH
        ANL   A, #0FH
        MOV   DPH, A
        MOVX  A, @DPTR
        CLR   C
        SUBB  A, R1
        JNC   DD1
        CPL   A
        INC   A
DD1:    CLR   C
        RET
;===================================
CRR:    MOV   R0, #0
        MOVX  A, @R0
        JZ    cr1
        ADD   A, ACC
        MOV   R0, A
        MOVX  A, @R0
        MOV   R2, A
        INC   R0
        MOVX  A, @R0
        MOV   R3, A
        MOV   A, DPL
        CLR   C
        SUBB  A, R3
        XCH   A, R3
        MOV   A, DPH
        SUBB  A, R2
        ANL   A, #0FH
        JNZ   CR1
        MOV   A, R3
        CLR   C
        SUBB  A, #48
        JNC   CR1
        RET
CR1:    LJMP  DF14
;==========================
SF21:   MOVX  A, @DPTR
        PUSH  DPH
        PUSH  DPL
        PUSH  ACC
        LCALL BLM
        POP   ACC
        POP   DPL
        POP   DPH
        CLR   C
        SUBB  A, R1
        JNC   SF201
        CPL   A
        INC   A
SF201:  CLR   C
        SUBB  A, 54H
        JZ      SFSF
        JNC   SF204
        CPL   A
        INC   A
SF202:  MOV   B, A
        MOV   A, 54H
        DIV   AB
        CLR   C
        SUBB  A, #3
        JC    SF203
SFSF:   MOV   A, #1
        RET
SF203:  MOV   A, #0
        RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -