1.cmp al,30

cmp 有很大的应用比如有的时候需要自己判断从字符串中查找一个字符,这时候先把要找的字符放到一个寄存器中,然后cmp reg,内存,配合jz/je指令就可以判断字符是否是要找的了,但是有的是偶是要判断两个数谁打谁小,因为从来没有用过这个命令,就突然晕了。没事,兵来将挡,水来土掩,不明白,用debug。

在debug中发现是:al - 30,从图中看到,nc—->cy发生了借位。

2.RCL,RCR,ROR ROL,shl,sar,shr,和cf的关系,看到这么多的命令头都大了,前两个还好说,后几个就有点稍微的蛋疼。

shl 本来还应该有一个sal与之对应,但是实际中确实没有,为什么没有,一直接搞不明白,据说和乘2有关系。也不能说没有其实是,有的只不过是在debug环境下没有在ide环境下是可以用的。

RCL: al:1100 0011 cf:0 —->al:1000 0110 cf:1

ROL 1000 0000 0 ———> 0000 0001 1

RCR: 1100 0011 0 —》0110 0001 1

ROR 0000 0001 0 ————-》 1000 0000 1

SHL 1100 0000 0 ————-》 1000 0000 1

SAR 1100 0000 0 –》1110 0000 0

1 100 0001 0 —–》 1110 0000 1

SHR 1000 0001 0 —–》 0100 0000 1

  1. 2- (-5) 正数减负数

0002 0000 0010(2)

00fb 1111 1011(-5) 111(7)