回 帖 发 新 帖 刷新版面

主题:指令优化的问题,高手看下,拜谢

MOV     AX,4
    除非这时 AH 必为0,否则,应该用:
        MOV     AL,4
    这样会少一个字符。
是这样么??怎么感觉是当AH=0 时用MOV AL,4才对啊。 


     ADD     AX,AX
    需要 2B,3T不如用:
        SHL     AX,1
    只要2B,2T。

怎么我算的这两个结果不一样啊.



[em7]

回复列表 (共4个回复)

沙发

1,不知道你要问什么
  提醒你,如此优化,随CPU的不同,结果也会不一样

2,结果一样,但要注意进位问题

板凳

恩...第一个我问的是:
我感觉是当AH=0 时用MOV AL,4才对啊
而上面写的是
当 AH 必为0时,MOV     AX,4

谢..

3 楼

AX可以分为两个寄存器用,MOV AL,4,则AH原来的内容不变,若MOV AX,4,刚AX中内容是0004H,不知道你是不是这个意思.

4 楼

o!!!明白了...开始怎么就没转过来这个脑筋!!!
我把逻辑关系搞晕了..

我来回复

您尚未登录,请登录后再回复。点此登录或注册