小型虚拟机模拟的说明_第1页
小型虚拟机模拟的说明_第2页
小型虚拟机模拟的说明_第3页
小型虚拟机模拟的说明_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 小 型 虚 拟 机 模 拟 的 说 明一.小型虚拟机实现说明:部件名称 功能体现 说明 ALU用于完成算术及逻辑运算 ALU不与寄存器组连接,故其只能负责累加器等的内容等的运算(指令解释时将详细给出)。CU控制指令的取值及执行不特别体现,主要在执行代码中体现,可以通过查看*.lst文件查看指令代码累加器A 用于存放运算的操作数或操作数的结果可以使用逐步跟踪的方法查看其内容,VC版可通过编辑框查看 栈指针寄存器SP用于存放堆栈的栈顶地址查看方法同累加器A变址寄存器X可以用于指向存放数组的起始地址查看方法同累加器A状态寄存器 Z用于判断操作结果是否为0查看方法同累加器A P用于判断操作结果是否为

2、正查看方法同累加器A C用于判断操作是否有进位查看方法同累加器A指令寄存器IR用于存放当前正在执行的指令的二进制内容查看方法同累加器A基址寄存器BP用于存放程序调用过程中的地址信息查看方法同累加器A程序计数器PC用于存放下一条指令的内存地址查看方法同累加器A本软件指令集包含了67条指令,使用本软件时请根据以下指令格式进行书写。(注意:本软件指令不同于一般汇编指令,请严格按照以下说明进行,谢谢!) 指令标识符 作用 使用方法NOP空操作,直接返回直接使用CLRA清空累加器A直接使用CLRC清进位标志为C直接使用CLRX清空变址寄存器直接使用CMC进位标志器取反直接使用INC累加器A自增一,影响标

3、志器直接使用DEC累加器A自减一,影响标志器直接使用INCX;变址寄存器自增一,影响标志器直接使用DECX标志寄存器自减一,影响标志器直接使用TAX累加器A送变址寄存器X 直接使用INI读一十进制数送累加器A,影响标志器不能直接给操作数,要在程序运行时才输入操作数INH读一十六进制数送累加器A,影响标志器不能直接给操作数,要在程序运行时才输入操作数INB读一二进制数送入累加器A,影响标志器不能直接给操作数,要在程序运行时才输入操作数INA读一ASCII码送入累加器A,影响标志器不能直接给操作数,要在程序运行时才输入操作数OTI以十进制形式输出累加器A的内容直接使用,在输出口看结果OTC以无符号

4、10进数形式输出累加器A的内容直接使用,在输出口看结果OTH以16进形式输出累加器A的内容直接使用,在输出口看结果OTB以无符号2进制形式输出累加器A的内容直接使用,在输出口看结果OTA以ascii字符形式输出累加器A的内容直接使用,在输出口看结果PUSH将累加器A的内容压入栈顶,堆栈指针SP减1直接使用POP将栈顶元素送入累加器A,堆栈指针SP加1直接使用,影响标志寄存器SHL累加器A内容左移一位,移出位进入进位标志C直接使用,影响标志寄存器SHR累加器A内容右移一位,移出位进入进位标志C直接使用,影响标志寄存器RET子程序调用返回,将栈顶内容送PC,退栈直接使用HALT停机指令直接使用LD

5、A B将B地址内容送累加器A直接使用LDX B将变址寄存器加偏移量B的地址内容送A直接使用LDI B将PC所指内存单元内容,即B送入累加器A直接使用LSP B将B地址内容送入SP直接使用LSPI B将B送入SP直接使用STA B将累加器A的内容写入B地址直接使用STX B将累加器A的内容写入使用变址寻址方式偏移量为B的内存单元中直接使用ADD B累加器A内容加B地址内容结果送累加器A直接使用,影响标志寄存器ADX B累加器A内容加上变址寻址(寻址方式同STX)地址的内容结果送累加器A直接使用,影响标志寄存器ADI B累加器A的内容加B结果送累加器直接使用,影响标志寄存器ADC B累加器A与B与

6、进位位相加,结果送累加器A直接使用,影响标志寄存器ACX B累加器与变址寻址(偏移量为B)、进位位相加,结果送累加器A直接使用,影响标志寄存器ACI B累加器与B立即数、进位位C相加,结果送累加器直接使用,影响标志寄存器SUB B累加器与B地址内容相减,结果送累加器直接使用,影响标志寄存器SBX B累加器与变址寻址方式(偏移量为B)的内容相减,结果送累加器直接使用,影响标志寄存器SBI B累加器与立即数B相减,结果送累加器A直接使用,影响标志寄存器SBC B累加器与B地址内容及进位位内容相减,结果送累加器直接使用,影响标志寄存器SCX B累加器与变址寻址方式(偏移量为B)及进位位相减,结果送累

7、加器A直接使用,影响标志寄存器SCI累加器与立即数B及进位位相减,结果送累加器A直接使用,影响标志寄存器CMP B累加器与B地址内容相比较直接使用,影响标志寄存器CPX B累加器与变址寻址方式(偏移量为B)的内容作比较直接使用,影响标志寄存器CPI B累加器与B相比直接使用,影响标志寄存器ANA B累加器与B地址内容相位与,结果送累加器直接使用,影响标志寄存器ANX B累加器与变址寻址方式(偏移量为B)的内容相位与,结果送累加器直接使用,影响标志寄存器ANI B累加器与立即数B相位与,结果送累加器直接使用,影响标志寄存器ORA B累加器与B地址内容进行位或操作,结果送入累加器直接使用,影响标志

8、寄存器ORX B累加器与变址寻址方式(偏移量为B)做位或操作,结果送累加器A直接使用,影响标志寄存器ORI B累加器与立即数B相位或,结果存入累加器中直接使用,影响标志寄存器JMP B无条件跳转至B地址直接使用BZE B只有Z为1才跳转到B地址直接使用BNZ B只有Z为0才跳转到B地址直接使用BPZ B只有P为1才跳转到B地址直接使用BNG B; 只有P为0才跳转到B地址直接使用BCC B只有C为0才跳转到B地址直接使用BCS B只有C为1才跳转到B地址直接使用TSP 将栈指针SP内容送累加器A直接使用JSR调用子程序,将返回地址压栈直接使用LBPI B使用机制寻址方式,将偏移量为B的内存单元

9、内容送累加器A直接使用FBPI B将立即数B送入基址指针寄存器BP直接使用TBP将基址指针寄存器BP的内容送A直接使用TSB将栈指针寄存器SP的内容送入基址指针寄存器BP直接使用TABP将累加器A的内容送入基址寄存器BP中直接使用使用说明:此虚拟机模型有两个版本:DOS版和VC版。下面分别对两个版本稍加说明。一. DOS版: 此版本可以直接调用也可以使用VC版调用。 使用时可参照以下说明内容:1. 打开程序后,首先必须先输入你要汇编的文档路径,完成对汇编文件的来源初始;2. 根据提示我们可以看到它编译的过程,首先它将进行第一遍扫描,完成对于汇编指令的存储,标识符的纪录,空格、解释的忽略等。然后进入第二遍扫描,负责检查汇编文件是否存在标识符的误用(因为汇编中存在向前,向后引用,跳转等操作),汇编指令的误用进行两遍扫描后,程序生成符号表和把机器指令加载到虚拟机内存之中,所有的内存内容将写入*.map文档中,使用者可以到那去查看加载后的内存内容,我们还将翻译后的汇编指令输出到*.ls

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论