汇编程序mov问题

时间:2010-09-11 07:12:55

标签: function begininvoke

  

可能重复:
  Assembler mov issue

我有下一个代码:

mov  ax,@data
mov  ds,ax

为什么我不能这样写?

mov ds,@data

所有来源:

   .MODEL small
   .STACK 100h
   .DATA
   HelloMessage DB 'Hello, world',13,10,'$'
   .CODE 
   .startup
   mov  ax,@data
   mov  ds,ax
   mov  ah,9
   mov  dx,OFFSET HelloMessage
   int  21h
   mov  ah,4ch
   int  21h
   END

谢谢!

1 个答案:

答案 0 :(得分:2)

您无法直接在ds中移动@data,因为您无法直接将段分配给ds。您可以使用ds。

中要移动的段的值移动寄存器