0

emu8086 をインストールしたところ、奇妙なエラー I don't understand on line が表示されますmov ax, SEG datahere。SEG キーワードを認識していないようです。なんで?このコードは、TASM+DosBox または GUI Turbo Assembler で問題なくコンパイルされます。

.model small
     ASSUME CS: codehere, DS:datahere, SS:stackhere

datahere segment para public 'DATA'

; data segment goes here

datahere ends   

stackhere segment word stack 'STACK'

     dw 400h dup (00)

stackhere ends

codehere segment para public 'CODE'
     start:

     mov ax, SEG  datahere
     mov ds, ax

     ; code goes here

     ; END
     mov ah, 4ch
     int 21h

codehere ends
     end start

エラー:

wrong parameters: MOV  ax, SEG  datahere
probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: (ITSELF) 
4

1 に答える 1

0

削除しSEGます。通常はオフセットも持つ変数またはラベルのセグメントが必要な場合にのみ使用されます。datahereすでにセグメントアドレスとして認識され、処理されています(TASMでも)。

于 2015-10-17T15:58:07.563 に答える