汇编器mov问题

发布于 2024-09-18 11:44:23 字数 563 浏览 3 评论 0原文

可能的重复:
汇编器 mov 问题

我有下一个代码:

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

谢谢!

Possible Duplicate:
Assembler mov issue

I have the next code:

mov  ax,@data
mov  ds,ax

Why I can not write just like this?

mov ds,@data

All source:

   .MODEL small
   .STACK 100h
   .DATA
   HelloMessage DB 'Hello, world',13,10,'

Thank you!

.CODE .startup mov ax,@data mov ds,ax mov ah,9 mov dx,OFFSET HelloMessage int 21h mov ah,4ch int 21h END

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人问我粥可暖 2024-09-25 11:44:23

您无法直接在 ds 中移动@data,因为您无法直接将段分配给 ds。您可以使用要在 ds 中移动的段的值来移动寄存器。

You can't move directly @data in ds because you can't assign directly a segment to ds. You are allowed to move a register with the value of the segment you want to move in ds.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文