最終更新:ID:8Q7HdWr8QA 2015年07月03日(金) 22:38:48履歴
メモリ空間 | 1 |
---|---|
ルーチン番号 | $19 |
メモリ上に格納されている実数データを被除数、FACCに格納されている実数データを除数として除算を行い、その結果をFACCに格納します。
もし、除数が0(ゼロ)で、演算した場合は「Division By Zero」のエラー処理へ実行が移ります。
単精度または倍精度型実数の区別は、FACCを管理するシステム・レジスタをチェックして行います。
また、もしFACCとメモリ上の変数の形が違っていても、そのまま演算をするので、結果は保証されません。
FACC=(メモリ上のデータ)÷(FACC)
もし、除数が0(ゼロ)で、演算した場合は「Division By Zero」のエラー処理へ実行が移ります。
単精度または倍精度型実数の区別は、FACCを管理するシステム・レジスタをチェックして行います。
また、もしFACCとメモリ上の変数の形が違っていても、そのまま演算をするので、結果は保証されません。
FACC=(メモリ上のデータ)÷(FACC)
50を被除数、2を除数として単精度型実数の除算を行ない、その結果を画面に表示します。
0 C000 ORG $C000 1 C000 UFDIV EQU * --SAMPLE OF "UFDIV" ROUTINE-- 2 C000 20 07 BRA EXEC 3 C002 8648 XDATA FDB $8648 SINGLE PRECISION DATA 4 C004 0000 FDB $0000 ( = 50) 5 C006 0002 FACDT FDB 2 6 C008 0F MAPNO FCB $0F MAP NO.(EXEC) 7 C009 EXEC EQU * --- 50 / 2 --- 8 C009 EC 8CFA LDD FACDT,PCR D:2 9 * - FACC(SINGLE)<--ACCD(VARI.) - 10 C00C 103F SWI2 CALL "UMOVFD" ROUTINE 11 C00E 41 FCB $41 12 C00F 1F FCB $1F 13 C010 E6 8CF5 LDB MAPNO,PCR B:MAP NO 14 C013 30 8CEC LEAX XDATA,PCR X:TOP ADDR OF (X) DATA 15 * --- FACC = [X] / FACC --- 16 C016 103F SWI2 CALL "UFDIV" ROUTINE 17 C018 41 FCB $41 18 C019 19 FCB $19 19 * - ACCD(VARI.)<--FACC(SINGLE) - 20 C01A 103F SWI2 CALL "UMOVDF" ROUTINE 21 C01C 41 FCB $41 22 C01D 20 FCB $20 23 C01E 3F SWI 24 END
コメントをかく