当前位置:网站首页>计组实践实验9——使用CMStudio设计基于分段模型机微程序指令(2)
计组实践实验9——使用CMStudio设计基于分段模型机微程序指令(2)
2022-06-26 12:35:00 【JamSlade】
一、 实验目的
- 掌握分段模型机指令的设计
二、 实验设备
- 硬件:无
- 软件:CMSstudio
三、 实验内容 - 掌握分段模型机指令的设计
四、 实验原理 - 程序与数据在同⼀地址空间 • AR作为地址指针来取指 • 增加PC送AR微操作
- • 程序与数据分开存储,程序段和数据段,还有堆栈段等 • 取指:PC • 取操作码和操作数 • 数据存取:AR
- • 栈指针:SP • 栈数据 – 存放在数据段 • 栈数据存取: – SP送AR – 通过AR来实现
- • INL DR • OUTL SR • STA [ADDR], SR • LD DR, [ADDR] • JMP ADDR
五、 实验步骤
• 针对下列指令
– INL DR
– OUTH SR
– STA [ADDR], SR
– LD DR, [ADDR]
– JMP ADDR• 写出机器指令格式 • 画出微指令流程图
• 使⽤上述指令系统编写程序,实现
– INPUT读⼊数据保存到ADDR,
– 将ADDR内容在OUTPUT显⽰。
– 循环往复 – 注意:INPUT读⼊到内存和内存输出到OUTPUT所使⽤的寄存器要求不是同⼀个
六、 调试过程、结果和分析• 针对下列指令
– INL DR
– OUTH SR
– STA [ADDR], SR
– LD DR, [ADDR]
– JMP ADDR• 写出机器指令格式
根据实验8 我们不难设定以下格式



鄙人自行设计的指令图
源程序

没加data segment
assume ds:data
表示这是个分段的(同时用ROM和RAM)
指令系统

指令码和长度的设计详细看我实验8文章
微程序设计
这里别忘了
RD – 奇
RS – 偶
比如当源是Register,而目标是IOL的时候,我们这个时候如果设定指令码是21
先把21转换成16进制
0100 0001
0100转换成1101000000(对应的散转地址640,所以2开头对应就是640,0开头对应600)
如果我们使用偶传偶(这里第二个偶指INPUT/OUTPUT的低位—也就是IOL)那么第一个偶对应RD部分(也就是01,也就是R1寄存器)
如果使用奇传偶,那么对应的奇使用的是RS部分(也就是00,也就是R0寄存器)
开头
640
680
6C0
700
740
实验过程中我们可以发现这次变化的是程序区
数据区也被我们装进数据
最后根据实验要求对剩余寄存器进行填充
边栏推荐
- Redis learning - 06 drifting bottle case
- Encapsulate request request of uni app
- PolarisMesh系列文章——概念系列(一)
- 程序员必备,一款让你提高工作效率N倍的神器uTools
- webgame开发中的文件解密
- What are the top ten securities companies? Is it safe to open a mobile account?
- 几行代码就能实现复杂的 Excel 导入导出,这个工具类真心强大!
- Demand scale forecast and investment competitiveness analysis report of China's new material market 2022-2028
- [solved] data duplication or data loss after laravel paginate() paging
- Investment planning and forecast report on the future direction of China's smart agriculture during the 14th five year plan (2022)
猜你喜欢

dried food! Yiwen will show you SD card, TF card and SIM card!

Installing MySQL under Linux (RPM package installation)

SQL injection in Pikachu shooting range

不到40行代码手撸一个BlocProvider

Scala problem solving the problem of slow SBT Download

The laravel dingo API returns a custom error message

BigInt:处理大数字(任意长度的整数)

由错误<note: candidate expects 1 argument, 0 provided>引发的思考

This executeQuery (SQL) cannot compile classes for JSP. What is the reason?

Comparison of latest mobile phone processors in 2020 (with mobile phone CPU ladder diagram)
随机推荐
International beauty industry giants bet on China
PHP uses laravel pay component to quickly access wechat jsapi payment (wechat official account payment)
5+API,清除应用缓存
Current situation investigation and investment prospect forecast analysis report of China's electrolytic copper market from 2022 to 2028
Examples of how laravel uses with preload (eager to load) and nested query
Several rare but useful JS techniques
Redis learning - 03 transaction
Lintcode 130 · stacking
[graduation season · advanced technology Er] I remember the year after graduation
2022 China smart bathroom cabinet Market Research and investment Competitiveness Analysis Report
Scala-day01- companion objects and HelloWorld
Spark-day01- get started quickly
File decryption in webgame development
Operation analysis and investment prospect research report of China's organic chemical raw material manufacturing industry 2022-2028
dried food! Yiwen will show you SD card, TF card and SIM card!
Less than 40 lines of code to create a blocprovider
What are the top ten securities companies? Is it safe to open a mobile account?
快手实时数仓保障体系研发实践
Php+laravel5.7 use Alibaba oss+ Alibaba media to process and upload image / video files
2022 edition of China's medical robot industry investment status investigation and prospect dynamic analysis report