この理解は間違いです。キャリーが立つのは入力の下位ニブルが9より大きい時です。計算結果ではありません。インテルのマニュアルからだと IF ((AL AND 0FH) > 9) OR (AF ← 1) THEN
AL ← AL + 6;
AH ← AH + 1;
AF ← 1;
CF ← 1; ELSE
AF ← 0;
CF ← 0; FI; AL ← AL AND 0FH;
There are six types of microcode instructions in the present invention. Type 1 is an ALU conditioning instruction which sets up ALU 134, which is taken to include PSW 136, to perform a specified function. A type 0 microcode instruction is a short jump which provides for a conditional jump within the microcode burst or sequence. A type 4 instruction is a bookkeeping instruction. Other types include a type 6 memory cycle, type 5 jump cycle and type 6 long jump cycle with an address save.
AAA/AASの例に出てくるのはタイプ0,1,4だけです。
In the case of the ASCII addition adjust and subtract adjust, as shown in TABLE 7,
特許に全部書いてありますよ (スコア:0)
また同時にキャリーフラグの検査を行う。キャリーフラグは3つめの命令(CR=2)のときに格納したflagsで立つことがある。ざっくり条件を書くと、6を足した(AAAの場合)計算結果が9を超えた場合である。
この理解は間違いです。キャリーが立つのは入力の下位ニブルが9より大きい時です。計算結果ではありません。インテルのマニュアルからだと
IF ((AL AND 0FH) > 9) OR (AF ← 1)
THEN
AL ← AL + 6;
AH ← AH + 1;
AF ← 1;
CF ← 1;
ELSE
AF ← 0;
CF ← 0;
FI;
AL ← AL AND 0FH;
キャリーを設定するのはCR=0の命令です。
特許のページからですが、まず、この文書のAレジスタはAL、Xレジスタ82はAHに相当するようです。Xレジスタ82とXレジスタ108は全くの別物です。
There are six types of microcode instructions in the present invention. Type 1 is an ALU conditioning instruction which sets up ALU 134, which is taken to include PSW 136, to perform a specified function. A type 0 microcode instruction is a short jump which provides for a conditional jump within the microcode burst or sequence. A type 4 instruction is a bookkeeping instruction. Other types include a type 6 memory cycle, type 5 jump cycle and type 6 long jump cycle with an address save.
AAA/AASの例に出てくるのはタイプ0,1,4だけです。
In the case of the ASCII addition adjust and subtract adjust, as shown in TABLE 7,
Re:特許に全部書いてありますよ (スコア:1)
ご指摘ありがとうございます。
キャリーの件は私の間違いです。
続きをすぐに読みたかったのですが、仕事ですぐに読めませんので、
後でにじっくり読ませていただきます。