FORTH 虛擬機內部結構

X86架構的 JLP_DOSX_Forth
CS:段存放機器指令和與硬件有關的系統數據
DS:段存放用戶數據和虛擬機的堆棧等數系統據
ES:段存放虛擬機指令和字典
SS:存放系統堆棧和多任務系統數據表等
虛擬機工做原理

1.指令堆棧指針:      RP → BP
2.算術堆棧指針:      AP → DI
3.指令指針:         IP → SI
4.字指針:           WP → BX
5.字指令執行:(NEXT)
WP := ES:[IP]       ; WP的內容是字的CFP
IP := IP+2           ; 下一條指令的IP
ES:[WP] JMP          ; 執行機器代碼
6.虛擬指令執行:(DOVM)
RP   := RP-2        ; 指令堆棧進棧準備
[RP] := IP          ; 當前IP進堆棧
WP   := WP+2        ; WP的內容是新的指令地址
IP   := WP          ; 新的IP
(NEXT)
7.虛擬指令返回:(ENDVM)
IP :=  [RP]          ; 老IP出堆棧
RP :=  RP+2          ; 指令堆棧恢復
(NEXT)

虛擬機程序狀態字:PSW web

               
 

Bit (位) 架構

 
 

名稱 spa

 
 

內容 指針

 
 

定義 orm

 
 

0x0080 ci

 
 

WorkState   虛擬機

 
 

工做狀態 it

 
 

0:執行狀態 編譯

 

1:編譯狀態 table

 

 

虛擬機器碼屬性字節:VCB

                       
 

Bit (位)

 
 

名稱

 
 

內容

 
 

定義

 
 

0x80

 
 

ImmediateWord  

 
 

當即字

 
 

0:普通字

 

1:當即執行字

 
 

0x40

 
 

FinishedWord

 
 

完成字

 
 

0:正常字

 

1:未結束定義字

相關文章
相關標籤/搜索