This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What assumption does this code make? Is it acceptable?

This is a snippet from a general-purpose library function that is (effectively) non-application specific and, by design, can make no assumptions about the context of the calling process.

Hint: The assumption the code makes has to do with interrupts. Do you see a problem?

_GenericFunctionA:
    MOV   A, R7
    RL    A
    ADD   A, #array_base
    MOV   R0, A
    CLR   EA
    MOV   A, @R0
    JNB   ACC.BIT_X, ?C0026
    JNB   ACC.BIT_Y, ?C0026
    SETB  ACC.BIT_Z
?C0026:
    SETB  ACC.BIT_N
    XCH   A, @R0
    SETB  EA
    JB    ACC.BIT_N, ?C0027
    MOV   R7, #0
    RET
?C0027:
    MOV   R7, #1
    RET

Parents Reply Children
  • The moment you decide to use a URTOS, you give up that control.

    Correction: The moment someone else decided to us a URTOS, they took that control away from me. >:(

  • The moment you decide to use a URTOS, you give up that control.

    Correction: The moment someone else decided to us a URTOS, they took that control away from me.


    If you were told to us a URTOS, then yoiur "correction" is correct. If your statement tries to blame the maker of the URTOS then blatantly incorrect. There is no way anyone can make something that uses interrupts and truly state "you can do with interrupts whatevere you want, it does not affect me". "truly" in bold, because I have seen that lie.

    Erik