
操作系统
TerenceHo
这个作者很懒,什么都没留下…
展开
-
简单的汇编模拟器教程(JavaScript)部分1[译]
这篇博客的目标是制作一个简单的模拟器,能够把代码变成CPU指令,并且在一个虚拟的机器上运行。这样来学习汇编语言再好不过了,因为无需顾虑操作系统相关的细节。模拟器模拟器使用JavaScript Angular,可以在任何终端的网页浏览器里运行。尽管做了很多简化以及有很多限制,基本结构和所有的模拟器是一样的。这个虚拟的机器包含下面的组成部分。内存(256字节)。内存里储存程序代码以及可供程序运行时存储翻译 2017-02-10 01:09:22 · 985 阅读 · 0 评论 -
简单汇编模拟器的语法
介绍这个模拟器使用简化的的汇编语法(基于NASM),模拟一个x86型CPU。 模拟器包含一个8位CPU和256字节的内存。所有指令(代码)和变量(数据)需要能装入内存。为了简化问题,每个指令和操作数都占用1个字节。所以一个MOV指令会占用3字节内存。模拟器提供一个控制台输出,映射的内存地址0xE8到0xFF。内存映射意味着所有写到这段内存的内容,控制台上都是可见的。语法语法和大多汇编语言类似。所有指翻译 2017-02-10 02:16:29 · 2107 阅读 · 0 评论 -
简单的汇编模拟器教程(JavaScript)部分2[译]
在部分1我们写了CPU部分。在第二部分也是最后一部分,我们会写内存,控制台输出和用户界面。内存我们使用一个简单的数组来表示内存。每个地址存储一个JavaScript数值。理论上,内存可以储存超过一个字节大小的值,但我们的CPU代码确保所有值都是0~255. 内存有3个函数。Load从指定地址取出一个字节,Store把一个字节写入指定地址。两个函数都会在指定地址超过有效地址空间时抛出错误。第三个函数把翻译 2017-02-13 13:05:00 · 611 阅读 · 0 评论