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

8086 Address Alignment

Status
Not open for further replies.

magnetra

Full Member level 5
Joined
Apr 21, 2005
Messages
265
Helped
10
Reputation
20
Reaction score
7
Trophy points
1,298
Location
27.45N, 85.20E KTM, NP
Activity points
3,390
Intel 8086 has 16-bit data bus. The book on Assembly language programming by Peter Abel states "Because the 8086 processors have a a 16-bit data bus, they execute faster if accessed words begin on an even numbered address" (pg 105). I don't understand this requirement. What is the disadvantage with a word begins at a odd numbered address.
Pls clarify me on this!
Thanks
M
 

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
Hi Magnetra

Download the file from http://www.planetpdf.com/codecuts/pdfs/aoa.pdf

then read pages 87 to 91 Memory Subsystem

Fortunately, the 16 bit 80x86 CPUs hide these details from you. Your programs can access words at any address and the CPU will properly access and swap (if necessary) the data in memory. However, to access a word at an odd address requires two memory operations (just like the 8088/80188). Therefore, accessing words at odd addresses on a 16 bit processor is slower than accessing words at even addresses. By carefully arranging how you use memory, you can improve the speed of your program.
 

    magnetra

    points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top