Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 1.05 KB

File metadata and controls

19 lines (14 loc) · 1.05 KB

backendコードからcpuコードに変換する際の留意点

直接は変換されないbackend命令

00: NOP

  • NOP命令はCPUコードに変換する際に除去されます。

01: LB

  • LB命令はLBSET命令に変換され、プログラム本体の実行に先立って実行されるようローダによって配置されます。  - LB命令に続く1命令がDATA命令ならば、そのラベルはDATA命令で指定されたtypとなります。  - 続く1命令がDATA命令でないならば、そのラベルのtypはCodeとなります。

2E: DATA

  • LB命令と組み合わせて翻訳されます。CPUコードには現れません。

3C: ENTER, 3D: LEAVE

  • これらはレジスタの一括退避および復元を行う命令です。
  • cpu命令に変換される際は、等価な複数個のSMEM/LMEM/PSMEM/PLMEM命令に変換されます。
    • 退避先のメモリにはP3C(整数レジスタ用)およびP3D(ポインタレジスタ用)が使用される予定ですが、ローダの実装に依存します。