Design a circuit to detect when 3 and only 3 bits are set
out of 8 bits.(eg. o0101100)
Answer Posted / gautam bhattacharya
Step 1: Store the 8 bit value in a accumulator
Step 2: Store 0x1 in a register0, initialize two counter
with 0 i.e. store zero in a reg1 and reg2.
LOOP:
Step 3: Check if AND operation between the value in
register0 and accumulator is set i.e. 1
if yes, increment reg1 and reg2
If no, increment only reg2
step 4: Left shift the value of register0 by 1
step 5: if ( reg2 >=8), exit LOOP
if ( reg1 >= 3), show that 3 bit is set
Else Go To LOOP
MOV XAR1, #Data
MOV XAR0, #0
MOV XAR2, #0
Loop:
TBIT *XAR1, #Count
BF Loop1, NTC
INR *XAR0
Loop1:
INR *XAR2
MOV AL, *XAR1
CMP AL, #0x03
BF Loop3, EQ
MOV AL, *XAR2
CMP AL, #0x80
BF Loop, NEQ
Loop3:
EXIT
| Is This Answer Correct ? | 0 Yes | 3 No |
Post New Answer View All Answers
How does the interrupts handle by using the threads?
What is null pointer and what is its use?
What does malloc do? What will happen if we have a statement like malloc(sizeof(0));
What is interrupt latency? How can you reduce it?
Tell me what is interaction semantics used in embedded systems?
What is digital signal controller ?
Are you still writing code? Do you love it?
Explain scope of static variables?
What is meant by a sandbox, why you would use one.
Can you name the differences between object-oriented and component-based design?
What is difference between using a macro and inline function?
Tell me how to create a child process in linux?
What is dma in an embedded system?
Describe a pattern that is not the factory pattern?
What are the different types of customizations that is used with the “volatile” keyword?