Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

MCS51 wiht 16 Bit multiply

Status
Not open for further replies.

J_expoler1

Newbie level 6
Joined
Apr 2, 2003
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
77
any one can use sign and unsign 16bit multiply from "MUL AB" instruction
 

silvio

Advanced Member level 3
Joined
Dec 31, 2001
Messages
716
Helped
105
Reputation
210
Reaction score
16
Trophy points
1,298
Location
Romania
Activity points
11,497
Did I miss a question mark at the end ?
Or it's just a remark ?

Here are some math routine from W.G.Marshall
http://www.8052.com/codelib/math8051.asm

Or if you want to do it hardware choose 80C390 from Dallas end enjoy access to the MA, MB and MC registers.

Silvio
 

Crisbe

Junior Member level 3
Joined
Mar 11, 2002
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
176
Or U can use the MDU from a 80C517 from Infineon. A 16*16 multiplication takes 4 cycles.

Regards
 

silvio

Advanced Member level 3
Joined
Dec 31, 2001
Messages
716
Helped
105
Reputation
210
Reaction score
16
Trophy points
1,298
Location
Romania
Activity points
11,497
Yep,

Infineon 80C517
tcy = 666us @ 18 MHz oscillator frequency (24 MHz was discontinued ?!)
A 16*16 multiplication takes 4 cycles = 2,66 us

Dallas 80C390
tcy = 100ns @ 40MHz oscillator frequency
A 16*16 multiplication takes 6 cycles = 0,6 us

This is another stupid example of useless advertising.
If I would like to use intensive math operation on 16 bits, definitely I wouldn't choose an 8 bit micro.

Because even if the multiplication takes 4 or 6 cycles you have to load previous the special SFR registers
(MA and MB for 80C390) and (MD0, MD1, MD4, MD5 for 80C517) and then read back the results from almost the same registers. And these times are not counted when they advertise this features on front page data sheet.
It's true that due to the determined execution time of multiplication and the parallel execution during the phase two, it's needless a busy flag (though 80C390 has one, MST)
and the fact that the results can be read any time once process started (after 4 or 6 cycles).
Thus, few microseconds gained are not big deal when using seldom 16 bits math routines overall program.

Like Atmel said in AVR ad campaign: An 8-bit MCU that can help you beat the pants off your competition.
Or printed on back car bumper sticker: My Microcontoller CAN BEAT THE HELL out of your microcontroller.

Silvio
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top