汇编指令入门求助
mov 0020:,ds:这条指令合法吗? 段地址不是说不能用立即数赋值的么,你这里用立即数当段地址,相当于 段寄存器=立即数 这种赋值操作是不合法的 本帖最后由 jackz007 于 2022-5-29 09:16 编辑
汇编指令不允许两个操作数同时是内存地址。再者,段地址必须使用 cs、ds、es、ss 段寄存器来进行表达,不允许使用立即数。你可以先为 es 寄存器赋值 20h,然后,用 es 替换段前缀 20。 竹逸 发表于 2022-5-29 08:51
段地址不是说不能用立即数赋值的么,你这里用立即数当段地址,相当于 段寄存器=立即数 这种赋值操作是不合 ...
懂了谢谢! jackz007 发表于 2022-5-29 09:12
汇编指令不允许两个操作数同时是内存地址。再者,段地址必须使用 cs、ds、es、ss 段寄存器来进行表 ...
感谢! jackz007 发表于 2022-5-29 09:12
汇编指令不允许两个操作数同时是内存地址。再者,段地址必须使用 cs、ds、es、ss 段寄存器来进行表 ...
另外对于这条指令来说,用es换段前缀后,因为两个操作数仍是内存地址,所以还是不合法的吧? Omega. 发表于 2022-5-29 13:44
另外对于这条指令来说,用es换段前缀后,因为两个操作数仍是内存地址,所以还是不合法的吧?
当然,你可以借用一个通用寄存器中转一下。 jackz007 发表于 2022-5-29 14:32
当然,你可以借用一个通用寄存器中转一下。
ok
页:
[1]