日立MB-S1に関する情報

メモリ空間1
ルーチン番号$1D

機能

整数の除算を行います。

解説

AccDに格納されている整数を被除数、Xに格納されている整数を除数として除算を行い、その商をAccDに、剰余をXにそれぞれ格納します。
除数が0で演算した場合は「Division By Zero」のエラー処理へ実行が移ります。
また、除算結果が実数の範囲を越えた場合は、「Overflow」のエラー処理へ実行が移ります。
UIDIVルーチンは演算処理でFACCを使うので、処理前のFACCの内容は破壊されます。
また、FACCの型を管理するシステム・レジスタは整数型に設定されます。

入力情報

  • AccD:被除数(整数型)
  • X:除数(整数型)

出力情報

  • AccD:商(整数型)
  • X:剰余(整数型)

サンプル・プログラム

内容

100÷3の整数演算をします。
 0 C000                     ORG  $C000      --SAMPLE OF "UIDIV" ROUTINE--
 1           C000   UIDIV   EQU  *          --- ACCD=ACCD \ IX(INTEGER) ---
 2                               *          --- IX  =ACCD MOD IX(INTEGER) -
 3 C000   CC 0064           LDD  #100
 4 C003   8E 0003           LDX  #3
 5 C006 103F                SWI2            CALL "UIDIV" ROUTINE
 6 C008      41             FCB  $41
 7 C009      1D             FCB  $1D
 8 C00A   3F                SWI
 9                          END

実行結果

プログラムを実行し、商がAccDに、剰余がXに、それぞれ格納されていることを確認します。
Ready
EXEC &HC000
S=E1FA(F16B)CC=80(****)A=00 B=21 DP=00 X=0001 Y=C000 U=0002 PC=C00A(3F2020004D)
*

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます