INC AL未递增1

时间:2014-03-31 16:14:17

标签: node.js assembly

我正在尝试将汇编代码转换为nodejs。

但我现在卡在INC AL突然发出AL 0xCA,然后是0xCB。

这是ASM:

CMP AL, DL // DL = 09, AL = 35
JA SHORT   // jump is taken
SUB DL,AL  // ---> jumped
JMP SHORT  // ---> jumped
NOT AL     // AL = 35
INC AL     // AL = CA (which is 202)
ADD DL, AL // AL = CB, DL = 09

现在INC AL如何使35进入CA? inc假设不是i++吗?

我的nodejs代码:

// cmp al, dl
if (b <= a) {
  a -= b;
} else {
  // a++;
  a += 0xcb;
}

1 个答案:

答案 0 :(得分:1)

NOT AL正在反转你的价值。

NOT(35) -> CA    00110101 -> 11001010
INC(CA) -> CB