RosettaCodeData/Task/Create-an-object-at-a-given-address/00-TASK.txt
2023-07-01 13:44:08 -04:00

19 lines
884 B
Text

{{basic data operation}}
In systems programing it is sometimes required to place language objects at specific memory locations, like I/O registers, hardware interrupt vectors etc.
;Task:
Show how language objects can be allocated at a specific machine addresses.
Since most [[OS]]es prohibit access to the physical memory if it is not mapped by the application, as an example, rather than a physical address, take the address of some existing object (using suitable [[Address Operations|address operations]] if necessary).
For example:
::*   create an integer object
::*   print the machine address of the object
::*   take the address of the object and create another integer object at this address
::*   print the value of this object to verify that it is same as one of the origin
::*   change the value of the origin and verify it again
<br><br>