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


Please Help Members By Posting Answers For Below Questions

Tell me what is the function of dma controlled in embedded system?

445


If you buy some rtos, what are the features you look for in?

432


What are the uses of the keyword volatile?

487


Tell me can structures be passed to the functions by value?

432


How to reduce function call overhead in arm based systems

436






What is the main function of multiplexed address/data bus?

435


What is the need for having multibyte data input and output buffers in case of device ports?

448


How might a task-based model differ from a threaded model?

438


How do you react to people criticizing your code/documents?

426


what is the difference between embedded systems and the system in which rtos is running?

535


What is interaction semantics used in embedded systems?

453


Explain the uses of timers in embedded system?

398


Can we use any function inside isr?

425


Which is the best way to write loops?

477


Explain what is the difference between mutexes and semaphores?

393