加算と減算


ALUと演算結果

コンピュータの日本語訳は「電子計算機」です
その名が表すように、コンピュータの本質は計算機です
2進数を計算し、その結果を所定の場所に返すというものがコンピュータの基本動作です

CPUは機械の頭脳といわれますが、実際に計算を行うのはレジスタなどではなく
そのデータをCPU内部のALUという演算装置にとり込んで行われます
ALUが演算を行い、その結果をレジスタと状態をフラグレジスタに返します

フラグレジスタの状態とその利用方法は、フロー制御を行う時に説明します
この場は、基本的な演算の行い方を理解しましょう

加算命令をおこなう場合はADDを用います
また、減算を行う場合はSUB命令になります
ADDは、第一オペランドに対象レジスタ、第二オペランドに加算する数を指定します

演算結果は、常にディスティネーションオペランドに格納されます
-A 100
15F2:0100 MOV AX , 10
15F2:0103 MOV DX , 20
15F2:0106 ADD AX , DX
15F2:0108 SUB DX , 5
15F2:010B

-G =100 10B

AX=0030  BX=0000  CX=0000  DX=001B  SP=FFEE  BP=0200  SI=0000  DI=0000
DS=15F2  ES=15F2  SS=15F2  CS=15F2  IP=010B   NV UP EI PL NZ AC PE NC
実行してレジスタの値を確認すると、演算されていることが理解できます

ADD AX , DX は、AXレジスタの内容とDXの内容を加算します
その結果は、第一オペランドで指定されたAXレジスタに格納されます
AXの内容は10、SUBは20なのでその結果は30になっています

SUB DX , 5 は、DXレジスタの内容を 5 減算し、結果がDXレジスタに格納されます
実行後、DXレジスタが1Bになっていることが確認できます



前のページへ戻る次のページへ