最終更新:ID:knJEfduqSQ 2015年08月29日(土) 17:25:10履歴
メモリ空間 | 1 |
---|---|
ルーチン番号 | $27 |
FACCに格納されている単精度型実数値データ(単位はラジアン)の三角関数のsinを計算し、その結果をFACCに、格納します。
また、演算するデータが倍精度型実数の場合は、単精度型実数に変換して計算を行ないます。
整数または文字型の場合もそのまま計算するので、結果は保証されません。
FACC=sin(FACC)
また、演算するデータが倍精度型実数の場合は、単精度型実数に変換して計算を行ないます。
整数または文字型の場合もそのまま計算するので、結果は保証されません。
FACC=sin(FACC)
10ラジアンのsinを計算し、その結果を画面に表示します。
0 C000 ORG $C000 --SAMPLE OF "SIN" ROUTINE-- 1 C000 SIN EQU * 2 C000 20 09 BRA EXEC 3 EF9E FILNUM EQU $EF9E FILE NUMBER VEC. 4 F014 PFBUF EQU $F014 5 C002 53 MSG FCC /SIN(10)=/ 6 C003 49 7 C004 4E 8 C005 28 9 C006 31 10 C007 30 11 C008 29 12 C009 3D 13 C00A 00 FCB $00 MESSAGE END CODE 14 C00B EXEC EQU * --- PROGRAM START --- 15 C00B 30 8CF4 LEAX MSG,PCR X:TOP ADDR OF MESSAGE 16 C00E 34 10 PSHS X 17 C010 86 0F LDA #$0F A:MAP NO (ON MESSAGE) 18 C012 5F CLRB 19 C013 F7 EF9E STB FILNUM FILNUM:0 ON DISPLAY 20 C016 103F SWI2 CALL "STOUT2" ROUTINE 21 C018 41 FCB $41 22 C019 39 FCB $39 23 * ---- BUFFER <--- ARGUMENT ---- 24 C01A 35 10 PULS X X:TOP ADDR OF MESSAGE 25 C01C 30 04 LEAX 4,X X=X+4 26 C01E 10BE F014 LDY PFBUF Y:PFBUF VEC. 27 C022 C6 02 LDB #$02 B:LENGTH OF ARGUMENT 28 C024 34 04 PSHS B 29 C026 A6 80 LOOP LDA ,X+ 30 C028 A7 A0 STA ,Y+ 31 C02A 5A DECB 32 C02B 26 F9 BNE LOOP 33 * --- FACC <--- ARGUMENT (DBL) --- 34 C02D 35 04 PULS B B:LENGTH OF ARGUMENT 35 C02F 103F SWI2 CALL "UVAL1" ROUTINE 36 C031 41 FCB $41 37 C032 21 FCB $21 38 * ---- FACC DATA CONV. (SINGLE) --- 39 C033 86 04 LDA #$04 40 C035 103F SWI2 CALL "FRCTYP" ROUTINE 41 C037 41 FCB $41 42 C038 23 FCB $23 43 * --- SIN(FACC) --- 44 C039 103F SWI2 CALL "SIN" ROUTINE 45 C03B 41 FCB $41 46 C03C 27 FCB $27 47 * --- FACC DATA PRINT USING --- 48 C03D 86 88 LDA #$88 "#." 49 C03F C6 06 LDB #$06 ".######-" 50 C041 103F SWI2 CALL "UFOUT" ROUTINE 51 C043 41 FCB $41 52 C044 22 FCB $22 53 * --- DATA DISPLAY --- 54 C045 86 0F LDA #$0F A:MAP NO 55 C047 103F SWI2 CALL "STOUT2" ROUTINE 56 C049 41 FCB $41 57 C04A 39 FCB $39 58 C04B 39 RTS 59 END
コメントをかく