[前頁] [次頁] [目次]


memory map


(1)C-system 動作時
    main memory
    0000
    X1 cios
     
    1000
    X1 monitor
     
    14A0
    C-system
     
    2000
    C-editer
     

    4000

    C-compiler
     
    6800
    editer &
    assembler
     
    8800
     
     
     
     
     
     
     
     
    FF00
    stack

    FFFF




    C-editer で作成したテキストは、
    graphic memory に格納されます.
    (約 48kb のテキスト領域となります)
      
    graphic memory
    4000
    C source
    text buff

     
     
     
     
     
     
     
     
     
     
     
     
     
     
    FFFF


(2)C-editer 動作時
    main memory
    0000
    X1 cios
     
    1000
    X1 monitor
     
    14A0
    C-system
     
    2000
    C-editer
    C-compiler 
    4000
    C source
    text buff

     
     
     
     
     
     
     
     
     
     
     
     
     
    FF00
    stack

    FFFF




    main memory の 4000 〜 FEFFと、
    graphic memory の 4000 〜 FEFFの
    内容が交換されます.
    graphic memory
    4000
    C-compiler

     
    6800
    editer &
    assembler
     
    8800
     
     
     
     
     
     
     
     
     
     
     
    FFFF


(3)C-compiler 動作時
     C-system 動作時に同じです.C-compiler は、graphic memory から C ソーステキストを読み込みながらコンパイルを行います.コンパイルオブジェクト(アセンブリソース)は、main memory の 8800 〜 FEFF の領域に出力します.


(4)C-editer & assembler 動作時
    main memory
    0000
    X1 cios
     
    1000
    X1 monitor
     
    14A0
    C-system
     
    2000
    editer &
    assembler
     
    4000
    assembly-
    source
    text buffer




    assembly-
    object buffer


    assembly-
    label buffer
     
    FF00
    stack

    FFFF
    graphic memory
    4000
    C source
    text buff

     
    9800
    C-editer
    C-compiler
     

    editer &
    assembler
     
     
     
     
     
     
    FFFF


    step1main memory の 2000 〜 87FF の内容を、graphic memory の 9800 〜 FFFF に退避します.
    step2main memory の 6800 〜 87FF にあるediter & assembler を 2000 以降に移動します.
    step3main memory の 87FF 以降に格納されていたコンパイルオブジェクト(アセンブリソース)を 4000 以降に移動します.移動したソースを含め、4000 〜 FEFF の領域をアセンブリーオブジェクトやラベルの格納領域として使用します.

     step1 において、C-editer で作成した C-source text が 9800 番地を越えて格納されていた場合には、9800 以降の内容は、C-editer, C-compiler の退避により削除されます.このような場合には、editer & assembler の起動時に text destroy ? の確認を表示します.y 以外のキー入力により editer & assembler の起動は中止できます.

[前頁] [次頁] [目次]