日立MB-S1に関する情報

メモリ空間2
ルーチン番号$14

機能

円、または円弧を描きます(CIRCLE)。

解説

グラフィック・アクセス用インターフェイス・バッファに格納されているグラフィック座標点を中心として、画面に円または円弧を描きます。

入力情報

グラフィック・アクセス用インターフェイス・バッファの構成
01234567891011121314151617181920212223242526272829303132
ERRCMDCLPOLSSXSY----RSRE----TFLRXRY
  • CL:表示色コード
    0〜7…表示色コード
    $80…省略
  • PO:プロット・オプション(詳しくはLINEMA/プロット・オプションおよびライン・スタイル・フラグの項を参照)
  • LS:ライン・スタイル(詳しくはLINEMA/プロット・オプションおよびライン・スタイル・フラグの項を参照)
  • SX:中心座標の水平座標値
  • SY:中心座標の垂直座標値
  • RS:開始角0〜2πラジアン(単制度型実数で指定)
  • RE:終了角0〜2πラジアン(単制度型実数で指定)
    開始角・終了角を指定すると、その範囲内の円弧を描きます。
    角度の指定はラジアンで(0から2πの範囲で指定します。ただし、-0ラジアンは指定できません)、省略すると開始角には0ラジアンが、終了角には2πラジアンが設定されます。
    角度に負の値を指定すると、その絶対値がとられ正の角度が用いられますが、そのとき負の値を指定した方に、中心からの半径を描きます。
    開始角・終了角ともに、負の値を指定すると扇形を描くことができます。
    • 単制度型実数:半径値2バイト、少数部1バイトで指定
  • TFL:終了角フラグ
    0…省略
    $80…指定
  • RX:水平方向の半径
  • RY:垂直方向の半径

サンプル・プログラム

内容

中心点を(200,100)、半径を100とし、表示色を黄色として、画面に円を描きます。
 0           C000   CRCXY   EQU  *          --SAMPLE OF "CRCXY" ROUTINE--
 1 C000   20 21             BRA  STEP1
 2           F010   PIFBUF  EQU  $F010      POINT ADDR
 3                  *                       OF GRAPHIC I/F BUF.
 4 C002      00     PARM    FCB  $00        ERROR CODE
 5 C003      00             FCB  $00        COMMAND CODE
 6 C004      06             FCB  $06        PALETTE CODE
 7 C005      00             FCB  $00        PLOT OPTION
 8 C006      0000           FDB  $0000      LINE STYLE
 9 C008      00C8           FDB  200        HORIZONTAL POSITION 1
10 C00A      0064           FDB  100        VERTICAL   POSITION 1
11 C00C      0004           RMB  4          NOT USE
12 C010      0000           FDB  $0000      START ANGLE
13 C012      0000           FDB  $0000
14 C014      0000           FDB  $0000      END ANGLE
15 C016      0000           FDB  $0000
16 C018      0004           RMB  4          NOT USE
17 C01C      00             FCB  $00        TFL:0
18 C01D      0064           FDB  100        HORIZONTAL RADIUS
19 C01F      00             FCB  00
20 C020      0029           FDB  41         VERTICAL RADIUS
21 C022      00             FCB  00
22           C023   PARME   EQU  *          PARM. END
23           C023   STEP1   EQU  *          --- SET PARM. TO BUF. ---
24 C023 103F                SWI2            GRAPHIC I/F BUF. INIT.
25 C025      41             FCB  $41
26 C026      69             FCB  $69
27 C027   BE F010           LDX  PIFBUF     X:GRAPHIC I/F BUF. ADDR
28 C02A   31 8CD5           LEAY PARM,PCR   Y:TOP ADDR. OF PARM.
29 C02D   C6 21             LDB  #PARME-PARM B:PARM. COUNTER
30 C02F   A6 A0     LOOP    LDA  ,Y+        A:PARM. DATA
31 C031   A7 80             STA  ,X+        GRAPHIC I/F BUF. <-- A
32 C033   5A                DECB            PARM. DATA END ?
33 C034   26 F9             BNE  LOOP
34           C036   STEP2   EQU  *          --- CIRCLE EXEC ---
35 C036 103F                SWI2            CALL "CRCXY" ROUTINE
36 C038      41             FCB  $41        MAP NO=1
37 C039      14             FCB  $14        ROUTINE NO=20
38 C03A   39                RTS

コメントをかく


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

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

どなたでも編集できます