how can i access a direct (absolute, not the offset) memory
address?

here is what i tried:
wrote a program that ask's for an address from the user,
creates a FAR pointer to that adress and shows it. then the
user can increment/decrement the value in that address by
pressing p(inc+) and m(dec-).

NOW, i compiled that program and opened it twice (in 2
different windows) and gave twice the same address to it.
now look what happen - if i change the value in
one "window" of the program, it DOES NOT change in the
other! even if they point to the same address in the memory!

here is the code snippet:
//------------------------------------------------------

#include <stdio.h> //INCLUDE EVERY KNOWN HEADER FILE
#include <conio.h> //FOR ANY CASE...
#include <iostream.h>
#include <dos.h>
#include <process.h>


main()
{
int far *ptr; //FAR POINTER!!!
long address;
char key=0; //A KEY FROM THE KEYBOARD
int temp=0;

clrscr();

cout<<"Enter Address:";
cin>>hex>>address; //GETS THE ADDRESS
clrscr();

(long)ptr=address; temp=*ptr; //PUTS THE ADDRESS IN THE PTR

cout<<"["<<hex<<(unsigned long)ptr<<"]="<<*ptr<<" = "<<
(char)(*ptr);

//SHOWS: [address]=value=ASCII symbol.


while (key!=27) //WHILE YOU DONT PRESS ESC.
{
while(!kbhit()) //WHILE KEY IS NOT PRESSED
{
if (temp!=*ptr) { temp=*ptr; clrscr(); cout<<"["<<hex<<
(unsigned long)ptr<<"]="<<*ptr<<" = "<<(char)(*ptr); };

//IF THE VALUE HAS CHANGED, CLEAR THE SCREEN AND SHOW
//AGAIN

if (key=='p') {key=0; (*ptr)++; } //INCREMENT VALUE
if (key=='m') {key=0; (*ptr)--; } //DEC. VALUE
};
key=getch(); //IF A KEY IS PRESSED, READ IT FROM THE
//KEYBOARD
};
return 0; //IF ESC WAS THE KEY, EXIT THE PROGRAM
}
//---------------------------------------------------------


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More C++ General Interview Questions

What are default parameters? How are they evaluated in c++ function?

0 Answers  


What is RTRT tool?can it be used for automation?can it work on packet PC?

3 Answers  


Mention the storage classes in c++.

0 Answers  


Why do we need runtime polymorphism in c++?

0 Answers  


What is data hiding c++?

0 Answers  






What is std :: flush?

0 Answers  


What is c++ stringstream?

0 Answers  


Differentiate between a template class and class template?

1 Answers  


What is a loop? What are different types of loops in c++?

0 Answers  


Assume studentNames and studentIDs are two parallel arrays of size N that hold student data. Write a pseudocode algorithm that sorts studentIDs array in ascending ID number order such that the two arrays remain parallel.

0 Answers  


Should you pass exceptions by value or by reference?

0 Answers  


Which is not an ANSII C++ function a) sin() b) tmpnam() c) kbhit()

0 Answers  


Categories