Question: Using the MPLAB software create a file that mimics one of the levels of Human Resource Machine. See HRM _ RAINY _ SUMMER.asm as well
Using the MPLAB software create a file that mimics one of the levels of Human Resource Machine. See HRMRAINYSUMMER.asm as well as SKIPTEST.asm and DECSKIPTEST.asm
HRMRAINYSUMMER.asm:
COUNTER EQU X ;DEFINING REGISTER LABELS USING EQU DIRECTIVE
INBOX EQU X
OUTBOX EQU X
;WREG EQU XFE
MOVLW X ;MOVING LIT. VAL INTO WREG
MOVWF COUNTER ;COPYING FROM WREG TO COUNTER REG USED FOR LOOPING
CLRF WREG ;CLEARING VALUE FROM W RESETS IT TO
LOOP: INCF INBOXF ;INCREMENT INBOX REG BY AND SAVE VALUE
INCF WREG,F ;INCREMENT WREG BY AND SAVE VALUE
ADDWF INBOXF ;ADD WREG AND INBOX TOGETHER AND SAVE IN INBOX
MOVFF INBOXOUTBOX ;COPY RESULT OF ADD FROM INBOX TO OUTBOX REG
DECF COUNTER,F ;DECREMENT COUNTER BY AND SAVE IN COUNTER REG
BNZ LOOP ;WILL EXECUTE LOOP LABLE AS LONG AS COUNTER IS NOT ZERO BRANCH NOT ZERO
END ;NECESSARY MPLAB DIRECTIVE TO STOP THE CODE
SKIPTEST.asm
REG EQU X ;DEFINE REGISTER CONSTANTS USING EQU DIRECTIVE
REG EQU X
MOVLW X ;COPY LITERAL VAL TO W
MOVWF REG ;COPY W VAL TO REG
;MOVLW XF ;COPY LITERAL VAL TO W
CPFSEQ REG ;COMPARE VALS IN REG WITH W IF SKIP NEXT INSTRUCTION
MOVLW XA ; INSTRUCTION WILL BE SKIPPED IF INSTRUCTION ABOVE IS TRUE
MOVFF REGREG ;COPY VAL IN REG TO REG
END
DECSKIPTEST.asm
REG EQU X ;DEFINE REGISTER CONSTANTS USING EQU DIRECTIVE
REG EQU X
MOVLW X ;COPY LITERAL VAL TO W
MOVWF REG ;COPY W VAL TO REG
DCFSNZ REGF ;DECREMENTS FILE REG AND SKIPS NEXT INSTRUCTION IF FILE IS NOT
MOVLW XA ;IF REG IS NOT THIS LINE WONT' EXECUTE
MOVWF REG ;THE NEXT INSTRUCTION WILL BEGIN HERE.
END
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
