日立MB-S1に関する情報

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

機能

マシン語のプログラムを記録します(SAVEM)。

解説

現在実行中のメモリ空間上にあるマシン語プログラムを、システム・スタック、またはシステム・ワーク内に格納されている、ファイル・ディスクリプタのファイルに記録します。
ファイルのオープン、クローズはシステム・コール内で実行されます。
  • 注)ファイル・ディスクリプタの設定方法、および使用できるシステム・ワークの内容はZOPENルーチンを参照してください。

入力情報

X:ファイル・ディスクリプタが格納されているメモリの先頭アドレス(システム・スタック)
U:マシン語プログラムの(現在実行中のメモリ空間上での)先頭アドレス
Y:マシン語プログラムの(現在実行中のメモリ空間上での)最終アドレス
D:マシン語プログラムの(現在実行中のメモリ空間上での)実行開始アドレス

サンプル・プログラム

内容

サンプル・プログラムを"CAS0:DATA.TST"のファイル・ディスクリプタ名でカセットテープに記録します。
 0           C000   ZSAVEM  EQU  *          --SAMPLE OF "ZSAVEM" ROUTINE--
 1 C000   20 0B             BRA  EXEC
 2 C002      22     FDESC   FCC  /"/        FILE DESCRIPTOR DATA
 3 C003      44             FCC  /D/
 4 C004      41             FCC  /A/
 5 C005      54             FCC  /T/
 6 C006      41             FCC  /A/
 7 C007      2E             FCC  /./
 8 C008      54             FCC  /T/
 9 C009      53             FCC  /S/
10 C00A      54             FCC  /T/
11 C00B      22             FCC  /"/
12 C00C      00     FDEND   FCB  $00        DATA END CODE
13           F014   PKBUF   EQU  $F014      TOP ADDR. OF BUFFER
14                  *                       ----- FILE DESCRIPTOR SET -----
15 C00D   BE F014   EXEC    LDX  PKBUF      X:TOP ADDR. OF BUFFER AREA
16 C010   34 10             PSHS X          SYSTEM STACK X
17 C012   31 8CEB           LEAY FDESC,PCR  Y:TOP ADDR. OF FILE DESCRIPTOR
18 C015   A6 A0     LOOP    LDA  ,Y+        A:FILE DESCRIPTOR DATA (1CHAR.)
19 C017   A7 80             STA  ,X+        BUFFER <--- A
20 C019   26 FA             BNE  LOOP       FILE DESCRIPTOR DATA END?
21                  *                       ----- M/L PROGRAM SAVE -----
22 C01B   35 10             PULS X          X:TOP ADDR. OF BUFFER AREA
23 C01D   33 8CE0           LEAU ZSAVEM,PCR U:TOP ADDR. OF PROGRAM
24 C020   1F 30             TFR  U,D        D:ENTRY ADDR. OF PROGRAM
25 C022   31 8D0004         LEAY PGMEND,PCR Y:END ADDR. OF PROGRAM
26 C026 103F                SWI2            CALL "ZSAVEM" ROUTINE
27 C028      41             FCB  $41        MAP NO=1  ROUTINE NO=$13 
28 C029      13             FCB  $13
29 C02A   39        PGMEND  RTS

コメントをかく


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

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

どなたでも編集できます