操作系统OS256第三次作业

1.OS256使用什么语言开发?
Javascript。
2.从源码来看,OS256由哪两个部分组成?
软件和硬件。
软件即汇编器,取名为assemble256。
硬件,一台假想的机器,也叫虚拟机,名字为PC256。
3.请用”四分五列”详细说明assembler256的指令格式
汇编指令=标号:指令助记符或伪指令 目的操作数,源操作数;注释
伪指令(directive):不生成机器指令,指导性语句。例如:DB UNTIL。并且伪指令是由汇编器定义的,而不是由CPU定义的。
标号由最多8个英文字母组成,不区分大小写。
4.assembler256怎么知道一个字符串是标号?
如果字符串后有冒号,那他就是标号。
5.为什么assembler256的指令里没有操作码?
因为assembler256是汇编器,它使用的是伪指令,可汇编成操作码。
6.源操作数和目的操作数,谁在前,谁在后?
目的操作数在前,源操作数在后。
7.你下载了VS CODE么?或者用了其它什么编辑器?
vscode和webstorm
8.assembler256的源码在哪个文件里?PC256呢?
assembler256源码在assets文件夹中的software.js文件里。
PC256源码在assets文件夹中的hardware.js文件里。
9.伪指令和指令的区别是什么?
指令是执行阶段发挥作用的,对应CPU可执行代码,编译时会分配存储单元。
伪指令只是在编译阶段发挥作用,由汇编器来解释,编译时不会给分配存储单元,只是按伪指令的功能定位程序数据或指令位置。
10.操作数有哪4种类型?
操作数有四种类型:
(1).number类型 如0,1,100,255,标号
(2).register类型 如A,B,C,D
(3).number-address类型 如[0],[1],[2],[255]
(4).register-address类型 如[A],[B],[C],[D]
11.在assembler256的汇编指令中,中括号的意义是什么?
中括号表示要访问内存地址。(暂时不确定…)
12.UNTIL指令的效果是什么?
从上一个位置填充0直到X为止。
13.DB指令有哪几种用法?
(1)在当前位置定义一个字节 DB 7
(2)在当前位置定义Y个X来填充当前位置 DB 13,9
(3)在当前位置定义一个字符串 DB “HELLO”
(4)在当前位置定义一个数组 DB [0,1,2,3,4,5,6,7,8,9]
14.LocationCounter的作用是什么?
LocationCounter,简写为LC,位置计数器,表示当前code已用长度,初值为0.
15.标签数组label[]的作用是什么?
存储标签,并记录标签所在位置。
16.标签出现在冒号的左边和右边,有什么不同?
出现在左边就是标号,右边会语义出错。
17.code[256]和RAM[256]的联系和区别是什么?
暂时空着…