Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie funktioniert "SEGMENT" ?
Döner Schniefer
01.10.2004, 23:22
Hi,
ich wollt eigentlich nur fragen was der Assembler bei der Mnemonic "segment" macht? Es ist ja keine CPU Instruktion.
Also wie registriert man denn über die CPU ein Segment?
Ach und was macht der Assembler bei "db" ? ^^
Ist ja auch keine Instruktion...
hoffe einer kann mir helfen :)
cu,
André
Döner Schniefer
02.10.2004, 17:02
Genau das ist es der Assembler weiss es nämlich nich. Segment is dafür gedacht das, das OS diese Segmente zuweisen kann.
---
wenn du schreibst "db 0x90" dann setzt der Assembler einfach an dieser Stelle wos steht ein Byte mit dem Wert 0x90, wenn du das in den Codebereich schreibst würde der Prozi das als Code auffassen 0x90 heisst nop in dem Falle also egal, aber kann gefährlich werden. Ein Assembler ist kein C Compiler der die Variablen vor den Code sortiert, das muss der Herr Programmierer da schon selbst tun
thx lowlevel :]
db kann zweierlei Bedeutung haben:
1) define byte: erzeugt eine Variable vom Typ "BYTE"
2) data byte : fügt eine Byte(folgen)sequenz in den Code ein (z. B. NOP=No operation). Vielleicht wars auch andersrum, muß noch mal nachschaun, verwechsel ich jedesmal... :-)
drstar
Felix Kaiser
15.10.2004, 19:32
'db' erzeugt an der Stelle, an der man es in den Quelltext setzt, die angegebene Folge an Bytes. Das kann im Codebereich sein, das kann aber auch im Datenbereich sein. Das Ergebnis ist das gleiche.
Döner Schniefer
20.10.2004, 22:47
jajaaa schon lang beantwortet.... aba thx ^^
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.