zoukankan      html  css  js  c++  java
  • 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

                   
     

    Bit (位)

     
     

    名称

     
     

    内容

     
     

    定义

     
     

    0x0080

     
     

    WorkState  

     
     

    工作状态

     
     

    0:执行状态

     

    1:编译状态

     

     

    虚拟机器码属性字节:VCB

                           
     

    Bit (位)

     
     

    名称

     
     

    内容

     
     

    定义

     
     

    0x80

     
     

    ImmediateWord  

     
     

    立即字

     
     

    0:普通字

     

    1:立即执行字

     
     

    0x40

     
     

    FinishedWord

     
     

    完成字

     
     

    0:正常字

     

    1:未结束定义字



  • 相关阅读:
    路由重分布(二)
    linux系统命令的收集 第一部分
    如何在VM软件中安装Linux系统
    Spring boot连接MongoDB集群
    jQuery中防止表单提交两次的方法
    Java中使用HTTP阻塞式调用服务器API
    本地项目初始化git推送到服务器
    前端页面调用Spring boot接口发生的跨域问题
    jQuery中异步问题:数据传递
    Git中修复bug
  • 原文地址:https://www.cnblogs.com/meihao1203/p/10645003.html
Copyright © 2011-2022 走看看