473,325 Members | 2,671 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,325 software developers and data experts.

8086 Real Mode Addressing

In 8086 real mode addressing the 16 bit segment register is added with
16 bit offset and 20 bit address is generated.
Eg:
Case 1:
********
Segment Reg: B230
Offset Reg: 2052

Now the resulting 20 bit address is generated as
Segment reg+ B230+
offset 02052
------------------
Address = B4352
The resulting address generated is accessed.

Case 2
******
Now my doubt is what if Segment Register: FFFF and offset register:
FFFF value
in it.If we calculate the Resulting 20 bit address it will cause an
overflow Right!!!!
Can somebody clarify how 20 bit address is generated in this case?????
Regds
PS
Nov 14 '05 #1
7 1757
mark_india <ps*****@gmail.com> wrote:
In 8086 real mode addressing the 16 bit segment register is added with
16 bit offset and 20 bit address is generated.
Eg:
Case 1:
********
Segment Reg: B230
Offset Reg: 2052 Now the resulting 20 bit address is generated as
Segment reg+ B230+
offset 02052
------------------
Address = B4352
The resulting address generated is accessed. Case 2
******
Now my doubt is what if Segment Register: FFFF and offset register:
FFFF value
in it.If we calculate the Resulting 20 bit address it will cause an
overflow Right!!!!
Can somebody clarify how 20 bit address is generated in this case?????


Sorry, but what's your question about C? You probably better should
ask things like this in a hardware or embedded programming group.

Regards, Jens
--
\ Jens Thoms Toerring ___ Je***********@physik.fu-berlin.de
\__________________________ http://www.toerring.de
Nov 14 '05 #2
mark_india wrote:
In 8086 real mode addressing the 16 bit segment register is added with
16 bit offset and 20 bit address is generated.


Try comp.lang.asm.x86
Nov 14 '05 #3
Bob
On 18 Mar 2005 03:52:57 -0800, ps*****@gmail.com (mark_india) wrote:
e Resulting 20 bit address it will cause an
overflow Right!!!!
Can somebody clarify how 20 bit address is generated in this case?????


THIS is the infamous A20 tweak that annoyed our youth !!!

0xFFFF0 +
0x00010 =
binary : 100000000000000000000

Overflow ! So it normally accessed back from 0x0000 BUT, and
this is a big BUT, they used that line to access HMA (High Memory
Area) that is almost 64Kb (64Kb-16bytes) giving DOS some
additional space to load drivers thus freeing normal memory for
applications.

Good (Baaad) ol' days !
Nov 14 '05 #4
ps*****@gmail.com (mark_india) wrote in message news:<48**************************@posting.google. com>...
In 8086 real mode addressing the 16 bit segment register is added with
16 bit offset and 20 bit address is generated.
Eg:
Case 1:
********
Segment Reg: B230
Offset Reg: 2052

Now the resulting 20 bit address is generated as
Segment reg+ B230+
offset 02052
------------------
Address = B4352
The resulting address generated is accessed.

Case 2
******
Now my doubt is what if Segment Register: FFFF and offset register:
FFFF value
in it.If we calculate the Resulting 20 bit address it will cause an
overflow Right!!!!
Can somebody clarify how 20 bit address is generated in this case?????
Regds
PS

Sorry for posting in this group, i did this because the
comp.lang.asm.86x says it is no longer archived, also C is used for
system programming. So i thought there might be people who know
something about it.
Bob thank you for your explanation, so you are saying that that it
actually overflows when added.
Iam still confused. I want to know whether it starts reading from the
starting address or it jumps to some High memory as Bob pointed
out.Can somebody clarify little more.
Nov 14 '05 #5
Bob <bo*@bob.bob> wrote in message news:<tf********************************@4ax.com>. ..
On 18 Mar 2005 03:52:57 -0800, ps*****@gmail.com (mark_india) wrote:
e Resulting 20 bit address it will cause an
overflow Right!!!!
Can somebody clarify how 20 bit address is generated in this case?????


THIS is the infamous A20 tweak that annoyed our youth !!!

0xFFFF0 +
0x00010 =
binary : 100000000000000000000

Overflow ! So it normally accessed back from 0x0000 BUT, and
this is a big BUT, they used that line to access HMA (High Memory
Area) that is almost 64Kb (64Kb-16bytes) giving DOS some
additional space to load drivers thus freeing normal memory for
applications.

Good (Baaad) ol' days !


Bob,
So that means processor finds an overflow when finding the address, it
jumps to a new 64kb block called HMA and starts addressing from
there????? So that means whenever it generates the overflowing address
it points to the HMA and whenever it generates normal address it will
be pointing to the normal memory ?
Nov 14 '05 #6
mark_india wrote:
.... snip ...
Sorry for posting in this group, i did this because the
comp.lang.asm.86x says it is no longer archived, also C is used
for system programming. So i thought there might be people who
know something about it.


Go back there, getting a real newsreader and newserver if you
must. Newsgroups are independant of Google. The x86 addressing is
still OT here.

--
"I conclude that there are two ways of constructing a software
design: One way is to make it so simple that there are obviously
no deficiencies and the other way is to make it so complicated
that there are no obvious deficiencies." -- C. A. R. Hoare

Nov 14 '05 #7
mark_india wrote:
Sorry for posting in this group, i did this because the
comp.lang.asm.86x says it is no longer archived


??

http://groups.google.ca/groups?group=comp.lang.asm.x86
Nov 14 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

26
by: Steven Bethard | last post by:
I thought it might be useful to put the recent lambda threads into perspective a bit. I was wondering what lambda gets used for in "real" code, so I grepped my Python Lib directory. Here are some...
3
by: Nadav Rubinstein | last post by:
Hi, I wonder, Is it possible to convert a CLR DLL to a Binary OS dependent DLL? Explained: The JIT compiler 'converts' the CLR DLLs to binary on runtime ( dependent of the OS ), Is there a way...
23
by: Adam | last post by:
I am coding a microkernel based off of Tanebaum's theroy. For Isis to be extensible, fast, and secure, it has been decided it will be a microkernel. Not in the old Mach sense of the word, but in...
2
by: addy.amu | last post by:
hi friend, i've been making 8086 programs in TurboC editor and assembling it using TASM but now i want to know how to use both C statments along with x86 commands. I want"input from user to be...
0
by: Stefan Lischke | last post by:
Hi, I'm really desperate using code generation(wsdl.exe) from wsdl files for latest WS-Eventing(including WS-Addressing) Specs. I'm writing my diploma about "publish subscribe systems based on...
0
by: gerritmitchell | last post by:
Hi, I have a situation where I need to send a SOAP message from a receiver through multiple intermediaries and then to an ultimate receiver. The intial sender will tell the intermediary where...
1
by: =?Utf-8?B?dWx0cmFuZXQ=?= | last post by:
We have a client that uses .Net that needs to work against our Java (xfire) based WS. My question is: how can a .Net (C#) WS client be configured to not send WS-Addressing headers? The client in...
2
by: Jrdman | last post by:
how to access the real mode interrupts from C code using MinGW gcc compiler?
1
by: meskeleton | last post by:
Hello everyone... When i try to access the site helm.manashosting.biz\ or http:\\69.50.194.212:8086\ The webpage does not display On clicking diagnose the problem link, It says cannot...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.