Also ich hab folgenden Code:
Code:
.MODEL TINY
.STACK 384
.DATA
Operand
DB 'Hello$'
Zeiger DW OFFSET Operand
BefehlsAdressZeiger DW OFFSET Marke
;$-begrenzte Ausgabe am Bildschirm
DollarPutVdu MACRO VirtPufAdr
;VirtPufAdr: 1)Immediate 2)DS-Wort-Bezeichner 3)Register
PUSH DX ; Retten in Keller
PUSH AX ; Retten
MOV DX,VirtPufAdr ; das zuerst, damit auch "DollarPutVdu AX" geht!
MOV AH,09h
INT 33
POP AX ; Restaurieren aus Keller
POP DX ; Restaurieren
ENDM
.CODE
Startpunkt:
MOV AX,@DATA
MOV DS,AX
MOV BX, [Zeiger] ; (1)
DollarPutVdu BX
Marke:
MOV AH,76 ; Programm beenden
INT 33
END Startpunkt;
was ist jetzt richtiger?! und vorallem warum?
wenn ich bei (1)
MOV BX, Zeiger oder MOV BX, [Zeiger]
mache.
funktionieren tuen beide sachen in meinem Assembler.
meiner meinung nach ist doch
MOV BX, [Zeiger]
richtiger..., weil ich ja den Inhalt von Zeiger (also den OFFSET Operand) haben möchte, um dann über die Offset Adresse Operand auszugeben.
[Soweit ich das aber in erinnerung habe, hat mein prof gemeint das andere (MOV BX, Zeiger) ist richtig ???]