if (s[i + 2] == 'S') {
if (r == 0) {
k = 0;
*icq = 0x89;
icq++;
i += 3;
goto subcmd_m;
}
}
if (s[i + 2] == 'i') { // int.
(中略)
}
if (s[i + 2] == 'c') { // char.
(中略)
}
if (s[i + 2] == 'r') { // relative.
(中略)
}
if (s[i + 2] == 'l') { // label.
(中略)
}
i += 3; // ← (s[i + 2] == 'S') && (r != 0) のときはここへ落ちて無事に処理される
} else {
(中略)
}
}
} continue;
case 'S': // Store
if (regCode == 0) {
reg = 0;
*ip = 0x89;
++ip;
putModRM(reg, addVal, operands[i]);
regCode = 0;
//pos += 3;
}
//continue; <- breakに書き換え
break;
case 'i': // int
(中略)
break;
case 'c': // char
(中略)
break;
case 'r': // relative
(中略)
break;
case 'l': // label
(中略)
break;
}
pos += 3;
}| コメント | お名前 | NameLink | |