Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Offset

Empfohlene Antworten

Veröffentlicht

Ein Freund von mir hat da so ein Problem und zwar möchte er gerne wissen in welcher Beziehung der Offset und die Speicheradresse stehen und wie man den Offset verändern kann. Vielleicht kann mir ja jemand helfen :)

Tschoe

Curlie

Ja das möchte er allerdings *fg* :) *wink*

Original erstellt von Curlie:

<STRONG> und wie man den Offset verändern kann. </STRONG>

Speicher verwaltet man mit Pointern. Arbeite ein Kapitel darueber durch, und Du wirst Bescheid wissen.

Uli

  • 2 Wochen später...

Das war mal bei DOS16 !!!

Adresse = segment*10h + offset

;-)

Ergänzung:

zu Doszeiten war nur 1 MB Ram adressierbar (000f:ffffh)

da aber eine 16Bit zahl nur 65536 Bytes (0ffffh) adressieren kann mußte man sich was einfallen lassen

also hat man die adressierung in segment und offset aufgeteilt

die adresse 000d:0000h kann mit

segment offset

000d 0000

000c 1000

000b 2000

angesprochen werden

alle 3 beispiele ergeben die adresse 000d:0000h

Alles klar ???

[ 29. Mai 2001: Beitrag editiert von: toosten ]

Hi,

also bei Win32 OS'en wird eigendlich immer (?) mit 32bit pointern gearbeitet.

==> 4GByte adressierbarer Speicher.

==> man braucht dieses Offsetgeschleuder endlich nicht mehr... (lasset die Toten ruhen ;)

Grüße Ketzer

Thx für die Hilfe.

Und ich bin froh, dass man den Offset nicht mehr verwenden muss, da ich die ganzen Rechnungen eh nicht so ganz verstanden hatte ;)

Tschoe

Curlie

Das habe ich ja auch am anfang geschrieben ... aber du wolltest es wissen !!! :D

Offsets sind nichts weiter als Werte die relativ zu einem Startpunkt eine neue Adresse liefern. Bei einem Array kann bedeutet der Offset 2 der dritte Eintrag!

Array[0] = 1. Eintrag

Array[1] = 2.

Array[2] = 3.

Das mit DOS16 ist sehr wohl noch ein Thema nur merkt keiner was davon weil die Compiler alles automatisch versuchen soviel wie möglich im gleichen Speicher-Segment zu Compilieren. Dadurch verringert sich die Adressierungs-Bandbreite und damit erhöht sich die gesagmt-Geschwindigkeit aller Speicherzugriffe im selben Segment weil die neuen Segmente erst adressiert werden müssen, was Zeit benötigt. Das hat nichts mit Nostalgie zu tun sondern mit der technischen optimierung bei der Code-Generierung. Übrigens wäre ohne diese Optimierungen wohl so etwas wie die Playstation-, N64-Emulatoren und auch die JIT-UAE-Amiga-Emus nicht dermaßen mit solcher Geschwindigkeit auf unseren Kisten möglich. Außerdem wenn jemand mal direkte Hardware-Programmierung machen muß (Steuerungen, etc.) kommt er um das Thema wohl kaum drum herum. Solange unsere Computer Page-orientiert arbeiten ist das sehr wohl ein Thema. Das Thema Bandbreite ist ja nicht nur beim Computer selbst sondern gerade auch bei Grafikkarten in aller Munde, nicht wahr?!!?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.