
Problems are solved by myself i.e. Mithun & Pronab

**********************************************************************
*      FOR ANY CORRECTION, MODIFICATION OR SUGGESTION PLZ MAILME     *
**********************************************************************	
Q1.
mvi A,58h
sta 2100h
mvi A,42h
sta 2200h
lda 2100h
mov B,A
lda 2200h
add B
sta 2300h
rst1
	22 bytes
--------------------------
Q2.
LXI H,2500H
MOV A,M
CMA
MVI L,02H
MOV M,A
DCR L
MOV A,M
CMA
MVI L,03H
MOV M,A
RST1
	15 bytes
----------------------------
Q3.
LXI H,2500H
MOV A,M
CMA
INR A
MVI L,02H
MOV M,A
DCR L
MOV A,M
CMA
INR A
MVI L,03H
MOV M,A
RST1
	17 BYTES
----------------------------------
Q4.
SUB A
LXI H,FFFFH
LXI D,1111H
DAD D
ADC A
RST1
	10 BYTES
----------------------------------
Q5.
LXI H,2100H
MOV A,M
ADD A
INR H
MOV M,A
RST1
	8 BYTES


LXI B,2100H
LDAX B
RLC
INR H
MOV M,A
RST1
	8 BYTES
------------------------------------
Q6.
LXI H,2500H
MOV A,M
ANI 0FH
RST1
	7 BYTES
------------------------------------
Q7.
LXI H,2100H
MOV A,M
MOV B,M
ANI 0FH
INR L
MOV M,A
MOV A,B
ANI F0H
RRC
RRC
RRC
RRC
INR L
MOV M,A
RST1
	19 BYTES
--------------------------------------
Q8.
	MVI C,09H
	LXI H,2000
	MOV A,M
LOOP:
	INR L
	CMP M
	JNC SKIP
	MOV A,M
SKIP:
	DCR C
	JNZ LOOP
	RST1
	
	17 BYTES

------------------------------------
Q9.
	MVI C,09H
	LXI H,2000
	MOV A,M
LOOP:
	INR L
	CMP M
	JC SKIP
	MOV A,M
SKIP:
	DCR C
	JNZ LOOP
	RST1
	
	17 BYTES
------------------------------------
Q10.
	MVI C,09H
	LXI H,2000H
	MOV B,M
	MOV D,M
LOOP:
	INR L
	MOV A,M
	CMP B
	JC SKIP
	CMP D
	JC MIN
	MOV D,A
	JMP MIN
SKIP:
	MOV B,A
MIN:	
	DCR C
	JNZ LOOP
	RST1

	27 BYTES
---------------------------
Q11.
LXI B,2000
MOV A,B
CMA
MOV B,A
MOV A,C
CMA
MOV C,A
RST1
	10 BYTES
---------------------------
Q12.
LXI B,2000H
MOV A,B
CMA
MOV B,A
MOV A,C
CMA
MOV C,A
INX B
HLT
	17 BYTES
---------------------------
Q13.
LXI H,2000H
MOV B,M
INR L
MOV A,M
RLC
RLC
RLC
RLC
ORA B
INR L
MOV M,A
RST1
	14 BYTES
----------------------------
Q14.
	LXI H,2200H
	MVI A,00H
	MOV M,A
	INR L
	MVI A,01H
	MOV M,A
	INR L
	MVI A,04H
	MOV M,A
	INR L
	MVI A,09H
	MOV M,A
	INR L
	MVI A,10H
	MOV M,A
	INR L
	MVI A,19H
	MOV M,A
	INR L
	MVI A,24H
	MOV M,A
	INR L
	MVI A,31H
	MOV M,A
	INR L
	MVI A,40H
	MOV M,A
	INR L
	MVI A,51H
	MOV M,A
	LXI H,2100H
	MOV C,M
	INR H
SKIP:
	INR L
	DCR C
	JNZ SKIP
	MOV A,M
	RST1
	
	54 BYETS
----------------------------
Q15.
LXI H,2040H
MOV A,M
INR L
SUB M
INR L
MOV A,M
RST1
	9 BYTES

LXI H,2041H
MOV A,M
CMA
DCR L
ADD M
MVI L,42H
MOV M,A
RST1
	11 BYETS


LXI H,2041H
MOV A,M
CMA
INR A
DCR L
ADD M
MVI L,42H
MOV M,A
RST1
	12 BYTES
----------------------------
Q16.
LHLD 2040H
XCHG
LHLD 2043
DAD D
SHLD 2046H
LXI H,2042
MOV A,M
MVI L,45H
ADC M
MVI L,48H
MOV M,A
MVI A,00H
ADC A
INR L
MOV M,A
RST1
	27 BYTES
------------------------------
Q17.
	LXI H,2200H
	MVI A,00H
	MOV M,A
	INR L
	MVI A,01H
	MOV M,A
	INR L
	MVI A,04H
	MOV M,A
	INR L
	MVI A,09H
	MOV M,A	
	INR L	
	MVI A,10H
	MOV M,A
	INR L
	MVI A,19H
	MOV M,A
	INR L
	MVI A,24H
	MOV M,A
	INR L	
	MVI A,31H
	MOV M,A	
	INR L
	MVI A,40H
	MOV M,A
	INR L	
	MVI A,51H
	MOV M,A
	LXI H,2240H
	MOV C,M
	MVI L,00H

	CALL CAL
	MOV B,A
	MVI L,41H
	MOV C,M
	MVI L,00H
	CALL CAL
	ADD B
	HLT

CAL:
	INR L
	DCR C
	JNZ CAL
	MOV A,M
	RET

	69 BYTES
-------------------------------
Q18.
This prog will add the 16 bit data contained in mem loc 2000H & 2001H with 16 bit data of memory loc 2002h & 2003H, and store the 16 bit result in mem loc 2004 & 2005.
But it will be in infinite loop after this exicution. So to see the result it has to be reseted. Since the result is stored in mem loc so the result can be viewed.
-------------------------------
Q19.
	MVI C,FFH
	LXI H,2100H
	MVI A,55H
	MOV M,A
	INR L
LOOP:
	MOV M,A
	INR L
	DCR C
	JNZ LOOP
RST1
	
	17 BYTES
--------------------------------
Q20.
	MVI C,FFH
	LXI H,2100H
	MVI A,55H
	MOV M,A
	INR L
	MVI B,AAH
LOOP:
	MOV M,B
	INR L
	DCR C
	JZ SKIP
	MOV M,A
	INR L
	DCR C
	JNZ LOOP
SKIP:
	RST1
	
	24 BYTES
---------------------------------
Q21.
THIS PROG USED TO STORE 00H IN MEM(RAM) LOCATION 2000H


LXI H,2000H
MOV M,L
RST1
	5 BYTES


SUB A
MOV L,A
MVI H,20H
MOV M,A
RST1
	6 BYTES


MVI A,00H
LXI H,2000H
MOV M,A
RST1
	7 BYTES
------------------------------------
Q22.
	SUB A
	LXI H,2141H
	MOV C,M
	INR L
LOOP:
	ADD M
	INR L
	DCR C
	JNZ LOOP
	
	MVI L,40
	MOV M,A
	RST1

	16 BYETS
---------------------
Q23.
MVI C,14H
MVI A,01H
MOV B,A
LOOP:
	INR B
	ADC B
	DCR C
	JNZ LOOP
	
	12 bytes
------------------------------------
Q24.
	LXI SP,27FFH
	MVI A,01H
	MVI H,08H
	ADD H
	PUSH PSW
	POP H
	PUSH PSW
	MOV A,L
	ANI 10H
	MOV A,H
	JNZ SKIP
	ANI 0FH
	CPI 09H
	JNC SKIP
	JMP GOTO
SKIP:
	MOV A,H
	ADI 06H
	MOV H,A
GOTO:
	POP PSW
	PUSH PSW
	MOV A,H
	JC ADJ
	CPI 90H
	JNC ADJ
	POP PSW
	JMP LAST
ADJ:
	ADI 60H
LAST:	
	MOV H,A
	MVI A,00H
	ADC A
	RST1

	54 BYTES
-----------------------------
Q25.
	MVI A,30H
	MVI B,90H
	CMP B
	CC SWAP
	SUB B
	MOV B,A
	ANI 0FH
	CPI 09H
	JC END
	SUI 06H
	MOV C,A
	MOV A,B
	ANI F0H
	ORA C
	MOV B,A
END:
	RST1
SWAP:
	MOV C,A
	MOV A,B
	MOV B,C
	RET

	24 BYTES
------------------------
Q26.
This prog will read the data(value) stored in mem loc 0041h. And count the no of data which are greater than or equal to 7FH from mem loc 0042h to no of mem loc which is resd from mem loc 0041. And store the couted value to mam loc 0040h.
But it will be in infinite loop after this exicution. So to see the result it has to be reseted. Since the result is stored in mem loc so the result can be viewed.
------------------------
Q27.

MVI A,05H
RLC
RLC
RLC
RLC
RLC
RST1

	8 BYTES

	MVI A,05H
	MVI C,32H
LOOP:
	ADC A
	DCR C
	JNZ LOOP

	RST1

	10BYTES
------------------------------
Q28.
	MVI C,00H
	LXI H,2000
	MOV A,M
	INR L
	MOV B,M
LOOP:
	SUB B
	INR C
	CMP B
	JNC LOOP
	INR L
	MOV M,C
	INR L
	MOV M,A
	RST1
	
	19 BYTES
-------------------------------
Q29.
LXI H,2100H
MVI A,31H
MOV M,A
INR L
MVI A,FFH
MOV M,A
INR L
MVI A,27H
MOV M,A
INR L
MVI A,3EH
MOV M,A
INR L
MVI A,99H
MOV M,A
INR L
MVI A,06H
MOV M,A
INR L
MVI A,99H
MOV M,A
INR L
MVI A,80H
MOV M,A
INR L
MVI A,F5H
MOV M,A
INR L
MVI A,E1H
MOV M,A
INR L
MVI A,F5H
MOV M,A
INR L
MVI A,7DH
MOV M,A
INR L
MVI A,E6H
MOV M,A
INR L
MVI A,10H
MOV M,A
INR L
MVI A,7CH
MOV M,A
INR L
MVI A,C2H
MOV M,A
INR L
MVI A,4EH
MOV M,A
INR L
MVI A,08H
MOV M,A
INR L
MVI A,FEH
MOV M,A
INR L
MVI A,09H
MOV M,A
INR L
MVI A,D2H
MOV M,A
INR L
MVI A,4EH
MOV M,A
INR L
MVI A,08H
MOV M,A
INR L
MVI A,C3H
MOV M,A
INR L
MVI A,52H
MOV M,A
INR L
MVI A,08H
MOV M,A
INR L
MVI A,7CH
MOV M,A
INR L
MVI A,C6H
MOV M,A
INR L
MVI A,06H
MOV M,A
INR L
MVI A,67H
MOV M,A
INR L
MVI A,F1H
MOV M,A
INR L
MVI A,7CH
MOV M,A
INR L
MVI A,DAH
MOV M,A
INR L
MVI A,61H
MOV M,A
INR L
MVI A,08H
MOV M,A
INR L
MVI A,FEH
MOV M,A
INR L
MVI A,90H
MOV M,A
INR L
MVI A,D2H
MOV M,A
INR L
MVI A,61H
MOV M,A
INR L
MVI A,08H
MOV M,A
INR L
MVI A,37H
MOV M,A
INR L
MVI A,3FH
MOV M,A
INR L
MVI A,C3
MOV M,A
INR L
MVI A,64
MOV M,A
INR L
MVI A,08
MOV M,A
RST1
	183 BYTES
-------------------------------
Q30.
	LXI H,2041H
	MVI C,08H
	MVI B,00H
LOOP:
	MOV A,M
	ANI 0FH
	CPI 00H
	JNZ SKIP
	INR B
SKIP:
	MOV A,M
	ANI F0H
	CPI 00H
	JNZ END
	INR B
END:
	INR L
	DCR C
	JNZ LOOP
	RST1

	25 BYTES
---------------------------
Q31.
	LXI H,2000H
	MOV A,M
	MVI B,00H
	MVI C,08H
LOOP:
	RAR
	JNC SKIP
	INR B
SKIP:
	DCR C
	JNZ LOOP
	MOV A,B
	MVI H,22H
	MOV M,A
	RST1

	22 BYTES
-------------------------
Q32.
During runtime of this prog it will change the execution code by itself.
---------------------------
Q33.
LXI H,2000H
	MOV A,M
	ANI FFH
	MVI H,21H
	JP POS
	MVI A,02H
	MOV M,A
	JMP END
POS:
	JZ ZERO	
	MVI A,01H
	MOV M,A
	JMP END
ZERO:
	SUB A
	MOV M,A
END:
	RST1	

	23 BYTES
--------------------------------
Q34.
**** ANS OF i)in reg C, ii)in reg B, iii)in reg A
MVI A,B8H
MOV D,A
MVI A,D6H
MOV E,A
XRA D
MOV C,A
ANA E
MOV B,A
MOV A,C
ANA D
RST1
	13 BYTES
-------------------
Q35.
	MVI C,0AH
	LXI H,2000H
	MVI A,01H
	MVI B,01H
	ADD B
	MOV M,A
LOOP:
	MOV D,A
	INR L
	DCR C
	JZ SKIP
	ADD B
	MOV M,A
	MOV B,A
	INR L
	DCR C
	JZ SKIP
	ADD D
	MOV M,A
	JMP LOOP
SKIP:
	RST1
	
	31 BYTES
--------------------------------




