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
Explain the differences between analytical and computational modeling?
What buses are used for communication in embedded system?
what is embedded system in a computer system?
Tell me why do we need virtual device drivers when we have physical device drivers?
How to reduce interrupt latency?
Tell me why is it better to use multi-threading polling then single threading model?
Explain the software analysis process, such as code analysis, code metrics, and system risk analysis or software reliability.
Tell me what happens when recursive functions are declared inline?
What kinds of problems can you hit with locking model? And a lockless model?
What is your experience with technical documentation?
What is return type of isr?
What is the significance of watchdog timer in embedded systems?
Can we use printf inside isr?
How are variables mapped across to the various memories by the c compiler?
What is the purpose of a watchdog timer?