Professional Documents
Culture Documents
i) ADDITION:
ADDRESS MNEMONICS
8500 MOV DPTR,#8501H
8503 MOVX A,@DPTR
8504 MOV B,A
8506 MOV DPTR,#8503H
8509 MOVX A,@DPTR
850A ADDC A,B
850C MOV DPTR,#8601H
850F MOVX @DPTR,A
8510 MOV DPTR,#8500H
8513 MOVX A,@DPTR
8514 MOV B,A
8516 MOV DPTR,#8502H
8519 MOVX A,@DPTR
851A ADDC A,B
851C MOV DPTR,#8600H
851F MOVX @DPTR,A
8520 E: SJMP E
OUTPUT:
MULTIPLICATION:
MEMORY MNEMONICS
ADDRESS
8500 MOV DPTR,#8600H
8503 MOVX A,@DPTR
8504 MOV B,A
8506 MOV DPTR,#8601H
8509 MOVX A,@DPTR
850A MUL AB
850B MOV DPTR,#8701H
850E MOVX @DPTR,A
850F MOV DPTR,#8700H
8512 MOV A,B
8514 MOVX @DPTR,A
8515 E: SJMP E
USING MASM:
iv) DIVISION:
Input: 05 03
Output: 01 (4500)
02 (4501)
USING MASM:
PROGRAM COMMENTS
MOV R1,#20H First BYTE
MOV R2,#10H Second BYTE
MOV A,R1
ANL A,R2
MOV R0,A
R0=R1 AND R2 AND OPERATION
MOV A,R1
ORL A,R2
MOV R3,A
R3=R1 OR R2 OR OPERATION
MOV A,R1
CPL A
MOV R4,A
R4=~R1 NEGATION
MOV A,R1
XRL A,R2
MOV R5,A
R5=R1 XOR R2 XOR OPERATION
LCALL 0003H
USING MASM:
SQUARE:
PROGRAM COMMENTS
MOV A,R1 MOVE [R1] TO ACCUMULATOR
MOV A,R2 MOVE [R2] TO ACCUMULATOR
MUL AB MULTIPLY A AND B
MOV R4,A STORE THE RESULT IN R4
CUBE:
PROGRAM COMMENTS
MOV A,R1 MOVE [R1] TO ACCUMULATOR
MOV A,R2 MOVE [R2] TO ACCUMULATOR
MUL AB MULTIPLY A AND B
MOV R4,A STORE THE RESULT IN R4
MUL AB MULTIPLY A AND B
MOV R4,A STORE THE RESULT IN R4
2’s COMPLEMENT:
PROGRAM COMMENTS
ORG 0000H
CLR PSW3 CLEAR PSW
CLR PSW4
CPL A COMPLEMENT ACCUMULATOR
ADD A, #01H ADD 01 WITH [ACCUMULATOR]
MOV A,R3 MOV [R3] TO ACCUMULATOR
AGAIN: SJMP AGAIN