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
Why is it better to use multi-threading polling then single threading model?
Why embedded system is useful?
What are the different types of embedded systems?
What are the 4 types of inheritance relationship?
Explain what is embedded system in a computer system?
How can you stop your dba from making off with a list of your users’ passwords?
What happens when recursion functions are declared inline?
Do you know what is priority inversion?
Tell me what is top half & bottom half of a kernel?
What are the uses of the keyword volatile?
Explain what is meant by a sandbox, why you would use one, and identify examples of sandboxes in the wild.
Please explain can structures be passed to the functions by value?
Explain what are real-time embedded systems?
How does combination of functions reduce memory requirements in embedded systems?
Can we put breakpoint inside isr?