Ranbo_ 发表于 2020-2-25 18:03:33

and [bx], 11011111B这样的写法可行吗

本帖最后由 Ranbo_ 于 2020-2-25 18:17 编辑

mov al,
and al, 11011111B
mov , al

为啥不能直接and , 11011111B啊,我看的好像都是把那个地址的内容取出来之后修改了再放回去,为啥不直接对地址里的内容进行修改?

还有这种
mov al,
mov , al

为啥不能直接mov , 呢

初学者,刚学到王爽的汇编语言第七章,啥都不会,麻烦大家解解惑哈

jackz007 发表于 2020-2-25 18:13:04

本帖最后由 jackz007 于 2020-2-25 18:19 编辑

         第一种是可以的,这么写就行
      and byte ptr,0dfh
         第二种不可变通,原写法已经是最简单的了,你的改法完全不可行。
         当然,也可以这么写:
      push ds
      pop es
      push si
      pop di
      add di,8
      movsb

Ranbo_ 发表于 2020-2-25 18:20:09

jackz007 发表于 2020-2-25 18:13
第一种是可以的,这么写就行

         第二种不可变通,那么写已经是最简单了。


噢,好的,十分感谢哈。那我想顺便问一下为什么不能那样写呀,感觉有点懵

jackz007 发表于 2020-2-25 18:24:45

Ranbo_ 发表于 2020-2-25 18:20
噢,好的,十分感谢哈。那我想顺便问一下为什么不能那样写呀,感觉有点懵

          mov 指令的两个操作数中,最多只能有一个是内存地址。

Ranbo_ 发表于 2020-2-25 18:28:58

jackz007 发表于 2020-2-25 18:24
mov 指令的两个操作数中,最多只能有一个是内存地址。

噢噢噢,十分感谢,前面学的不太行,谢谢啦
页: [1]
查看完整版本: and [bx], 11011111B这样的写法可行吗