Terminal PRG
Terminal PRG
WAP TO COUNT HOW MANY EVEN & ODD NOS ARE PRESENT IN A MB STARTING
FROM C090H. STORE EVEN COUNT IN REG. C & ODD COUNT IN REG. D
LENGTHOF THE BLOCK IS 10
WAP TO COUNT HOW MANY TIME DATA 11H IS REPEATED IN A MB STARTING FROM
C071H. LENGTH OF THE BLOCK IS STORED IN C070H. STORE RESULT IN REG.C
WAP to divide a no. stored at M.L. C050H by another no. stored at M.L. C051H. Store quotient
at M.L. C052H & remainder at M.L C053H
M.L. in hex Hex code Label Instruction Comment
C000 LXIH, C050H ; Load C050H in H pair
C001
C002
C003 MOV A,M ; Move (M)---->A
C004 INXH ;(HL) + 01H ---->HL
C005 MOV B,M ; Move (M)---->B
C006 MVIC , 00H ;Clear reg. C
C007 YY CMP B ;(A)-(B)
C008 JC XX ;If( CY) = 1 jump to xx
C009
C00A
C00B SUB B ; (B) - 01H----> B
C00C INR C ; (C) + 01H----> C
C00D JMP YY ; Jump to YY
C00E
C00F
C010 XX INXH ;(HL) + 01H ---->HL
C011 MOV M,C ; Move (C)---->M
C012 INXH ;(HL) + 01H ---->HL
C013 MOV M,A ; Move (A)---->M
C014 RST1 ;End
WAP to separate nibbles of a number stored at M.L. C050 & store in M.L. C051H & C052H.
iply both nibbles & store result in C053H
M.L. in hex Hex code Label Instruction Comment
C000 LXIH, C050H ;Load C050Hin Hpair
C001
C002
C003 MOV B,M ; Move (M)---->B
C004 MOV A,M ; Move (M)---->A
C005 ANI, OFH ; (A) AND 0FH---> A
C006
C007 MOV C,A ; Move (A)---->C
C008 INXH ;(HL) + 01H ---->HL
C009 MOV M,A ; Move (A)---->M
C00A MOV A,B ; Move (B)---->A
C00B RRC : Rotate ( A) right four times
C00C RRC
C00D RRC
C00E RRC
C00F ANI, OFH ; (A) AND 0FH---> A
C010
C011 INXH ;(HL) + 01H ---->HL
C012 MOV M,A ; Move (A)---->M
C013 SUB A ; Clear Acumulator
C014 XX ADD M ;(A) + (M) ---> A
C015 DCR C ;(C ) - 01H ----->C
C016 JNZ XX ;If( z)<>1 jump to XX
C017
C018
C019 INXH ;(HL) + 01H ---->HL
C01A MOV M,A ; Move (A)---->M
C01B RST1 ;End
WAP TO CHEK 16 BIT NO. STORED ML C060H & C061H IS A PALINDROME OR NOT
IF NO IS PALINDROME STORE AAH IN REG.B ELSE STORE BBH
WAP TO ADD A MB STARTING FROM C070H. LENGTH OF THE BLOCK IS 10. STORE 16 BIT RESULT A
THE BLOCK . USE DAD INSTRUCTION
WRITE A SUBROUTINE TO STORE DATA 00H & FFH IN ALTERNATE M.L. OF A M.B. STARTING FROM
FILL:
M.L. in hex Hex code Label Instruction Comment
C000 MVI B,32H
C001
C002 LXIH, D050H
C003
C004
C005 XX MVI M,OOH
C006
C007 INXH
C008 MVI M,FFH
C009
C00A INXH
C00B DCR B
C00C JNZ XX
C00D
C00E
C00F RET
C010
NG FROM
. STORE 16 BIT RESULT AT THE END OF THE BLOCK.
F A M.B. STARTING FROM D050H. LENGTH OF THE BLOCK IS 100.
DECIMAL----> BINARY---->HEX
D050 OO 2 50
D051 FF 25 0
D052 OO 12 1
D053 FF 6 0
D054 OO 3 0
D055 FF 1 1
50 0011 0010
3 2
32H