This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I NEED A SUDDEN REPLY

DEAR TO ALL, I AM DEALING WITH C8051F120 MICROCONTROLLER.UTILIZING 16 X 16 MAC ENGINE OPERATION.I AM DOING ASSEMBLY LANGUAGE PROGRAMMING USING THIS MICROCONTROLLER FOR MULTIPLICATION. IS IT POSSIBLE TO MULTIPLY TWO UNSIGNED 16 BIT INPUTS?
IF YES, THEN HOW ?

Parents Reply Children
  • You are right - the Datasheet says what the MAC0RS bit does, but omits to tell you where it is!

    from the datasheet:
    Bit 5: MAC0SC: Accumulator Shift Control.
    When set to 1, the 40-bit MAC0 Accumulator register will be shifted during the next SYSCLK cycle. The direction of the shift (left or right) is controlled by the MAC0RS bit.
    This bit is cleared to ‘0’ by hardware when the shift is complete.
    Bit 4: MAC0SD: Accumulator Shift Direction.
    This bit controls the direction of the accumulator shift activated by the MAC0SC bit.
    0: MAC0 Accumulator will be shifted left.
    1: MAC0 Accumulator will be shifted right.

    It should be obvious that MAC0RS and MAC0SD is the same as mentioned in a former post.

    Erik

  • "It should be obvious that MAC0RS and MAC0SD is the same as mentioned in a former post."

    Maybe so, but it's clearly an error in the datasheet.

    Of course, the SiLabs datasheet has nothing to do with Keil - this needs to be taken up with SiLabs!

  • this needs to be taken up with SiLabs!
    I already did

    Erik

  • hello to all , i am using keil uvision3 and device selected is c8051f120.after execution of the project, the states is 1992 and execution time is 0.000650 seconds
    Note:clock is 50MHz

    please tell me whether i forgot any step missed or is it correct ?

    if my answer is correct,then what is the relation between states and executed time?

    i calculated like this

    (1/(50*1000000))*1992=39 microseconds

    but answer i got is .6 milliseconds

    why?

    please i need your help

    sory for interrupting you all

    Regards
    Ranjini.NP

  • please reply to this

    hello to all ,
    i am using keil uvision3 and device selected is c8051f120.after execution of the project, the states is 1992 and execution time is 0.000650 seconds
    Note:clock is 50MHz

    please tell me whether i forgot any step missed or is it correct ?

    if my answer is correct,then what is the relation between states and executed time?

    i calculated like this

    (1/(50*1000000))*1992=39 microseconds

    but answer i got is .6 milliseconds

    why?

    please i need your help

    sory for interrupting you all

    Regards
    Ranjini.NP

  • Why do you post the same question twice? Will there be twice as many who know the answer? Or will the people who know the answer be twice as interested in answering?

  • nobody responding
    thats why i put again

  • "nobody responding thats why i put again"

    And in what way do you suppose that will encourage anyone to reply who hasn't already replied?!

    Rather than merely reposting exactly the same text, why not try to clarify it, or add further explanation?