【图灵完备 Turing Complete】游戏经验攻略分享 Part.6 处理器架构2 函数

新的架构来了,本游戏的最后一个攻略分享,最后汇编部分无非是对于操作码的熟练,硬件没有问题,那么也就无关痛痒了。


汇编实现,两数相或和两数相与非一起相与即可。 

八位异或器,整就完事了。 

有手就行。 

 利用相等相减全零的原理。

从高位到低位去判断,如果高位小于第二个直接输结果,如果不大于,就打开下面一位的检测通路再进行判断。

 这个和上面无符号小于差不多,多判断了一下符号位。

 判断PC的奇偶,加个3-8译码器,判断奇偶,奇数一定是最后一位是1的,所以激活选通输出。

这关的话。就是一个新的架构了,一次读4条机器码,分别是OP s1 s2 addr,addr相当于结果送到哪。这关由于之后关卡也会复用,所以我已经加了很多东西进去了。然后就是控制存储。写入的时候,加一个常数与地址总线上过来的数字进行比较,相等就激活并打开输入输出。

操作码也相当的简洁,共八位,前两位分别控制s1是立即数还是s2是立即数,第三位判断是否选择是进行比较,然后跳转到指定的行数(此时,前面说的第四个addr就会作为下一个地址传入PC的寄存器)。后五位在第三位没有激活的情况下是用于选择计算(包含简单的MOV),第三位激活之后,就进行判断了,例如大于小于。

RAM部分:另外存在一个RAM寻址寄存器,外加了一个自动加一的计数器,这样的话,设置好基地址,就可以自动的一个一个扫描RAM(这个是后面其中某关的要求)。RAM选定读取写入的操作类似于寄存器。

堆栈部分:

寄存器组:(6个,实则可以拓展,包括栈和ram在内的,存储器件个数只要不超过2的八次方的寻址空间)

运算:(条件选择和这个相同,都是判断OP和指定数字是否相同,相同就激活计算结果,送结果总线,蓝色的那条)

除法器的除零特殊处理。

机器外的输入输出(这里把他们都挂载到7号了,和寄存器等内存器件的选择方法一致): 

PC:这里青色即执行比较和JMP指令通过的命令,准备进行跳转,浅蓝色是新传入的地址(如果前面青色线传1,即跳转,那么直接吧addr线,也就是深蓝色线的数字传进PC),如果不是进行比较,而指令中的addr是6,那么直接把之前运算结果传,也就是浅蓝色(结果总线的内容)传入PC作为新的地址。平常情况下不会把那个自动计数器状态设置为置数状态。

另外,此游戏右键特别灵敏,点住就会很快的删除一根导线,就很容易误触缺线,谨慎操作。 


FIN 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

設置Android設備全局代理

全局代理是指在設備上設置一個代理伺服器,使所有的網路請求都通過這個代理伺服器進行轉發。這樣,無論你使用的是哪款應用,所有的網路流量都會經過代理伺服器,從而實現統一的網路訪問控制和隱私保護。 配置Wi-Fi網路代理 在Andro…

干货满满:嵌入式电阻的重要作用全知晓

在嵌入式开发中,有一个小小的元件,它看似不起眼,却在电路中扮演着极其重要的角色。它就是——电阻。很多初学者认为电阻只是用来“分压降流”,但其实,电阻的作用远比我们想象的要复杂和关键。今天,我们就来…

Pyecharts在数据可视化大屏中的应用与实践

Pyecharts在数据可视化大屏中的应用与实践 在大数据时代,数据可视化已成为企业决策、业务分析不可或缺的一环。而数据大屏,作为数据可视化的高端表现形式,不仅能够实时展示关键业务指标,还能通过丰富的图表和动态效果&#xff0c…

LeetCode 2374.边积分最高的节点:模拟

【LetMeFly】2374.边积分最高的节点:模拟 力扣题目链接:https://leetcode.cn/problems/node-with-highest-edge-score/ 给你一个有向图,图中有 n 个节点,节点编号从 0 到 n - 1 ,其中每个节点都 恰有一条 出边。 图…

TM-align蛋白质聚类数据格式转化

TM-align 对蛋白质结构中的序列进行同源性聚类分析的结果格式如下: 8p0k_H 8p0k_H 8p0k_H 8p0n_H 8p0k_H 8p0j_H 8p0v_M 8p0v_M 8p0y_O 8p0y_O 8p0y_O 8p10_O 8p0y_O 8p0y_A 8p0y_O 8p10_D 8p0y_O 8p24_V 8p0y_O 8p24_Z 其中,第一列为聚类的代表序列&a…

思科安全网络解决方案

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

【门牌制作 / A】

题目 代码 #include <bits/stdc.h> using namespace std; int main() {int cnt 0;for (int i 1; i < 2020; i){string s;s to_string(i);cnt count(s.begin(), s.end(), 2);}cout << cnt; }

【C++篇】走进C++标准模板库:STL的奥秘与编程效率提升之道

文章目录 C STL 初探&#xff1a;打开标准模板库的大门前言第一章: 什么是STL&#xff1f;1.1 标准模板库简介1.2 STL的历史背景1.3 STL的组成 第二章: STL的版本与演进2.1 不同的STL版本2.2 STL的影响与重要性 第三章: 为什么学习 STL&#xff1f;3.1 从手动编写到标准化解决方…

【论文速看】DL最新进展20240923-长尾综述、人脸防伪、图像分割

目录 【长尾学习】【人脸防伪】【图像分割】 【长尾学习】 [2024综述] A Systematic Review on Long-Tailed Learning 论文链接&#xff1a;https://arxiv.org/pdf/2408.00483 长尾数据是一种特殊类型的多类不平衡数据&#xff0c;其中包含大量少数/尾部类别&#xff0c;这些类…

tomcat服务搭建部署ujcms网站

tomcat服务搭建部署ujcms网站 关闭selinux和防火墙 setenforce 0 && systemctl stop firewalld安装java环境 #卸载原有java8环境 yum remove java*#上传java软件包&#xff0c;并解压缩 tar -xf openjdk-11.0.1_linux-x64_bin.tar.gz && mv jdk-11.0.1 jdk11…

docker 镜像,导入导出,

dockers镜像传输&#xff1a;docker save和docker load命令的使用_docker save -o-CSDN博客 docker save 命令 docker load 命令 快速复制容器-CSDN博客 创建docker容器报错:Error response from daemon: No command specified-CSDN博客 Docker 镜像移动或复制到另一台服务器_d…

了解函数式编程:从表象到本质,从技法到心法

今天看到&#xff0c;《代码整洁之道》&#xff08;Clean Code&#xff09;和《架构整洁之道》&#xff08;Clean Architecture&#xff09;的作者Robert C. Martin在讨论函数式编程时曾提到&#xff1a; 函数式编程不仅仅是“用函数编程”。函数式编程是没有赋值语句的编程。 …

TaskRes: Task Residual for Tuning Vision-Language Models

文章汇总 当前VLMs微调中存在的问题 提示微调的问题 在提示调优中缺乏对先验知识保存的保证(me&#xff1a;即提示微调有可能会丢失预训练模型中的通用知识)。虽然预先训练的文本分支模块(如文本编码器和投影)的权重在提示调优范式中被冻结&#xff0c;但原始的良好学习的分类…

BUUCTF-MISC-荷兰宽带数据泄露

下载附件得到一个二进制文件 通过题目猜测这是一段路由器备份日志&#xff0c;可以使用RouterPassView打开 链接: https://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k 下载链接http://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k注意&#xff0c;这个软件会报毒…

ARPGDemo第一阶段

1、阶段展示 ARPGDemo阶段展示1 2、使用技术 1.资源使用 开发阶段使用AssetDatabase.LoadAssetAtPath在Editor加载使用&#xff0c;当需要导包将切换AssetBundles来Build并使用加载。 2.加载详情 项目中开始界面UI以及场景的加载均使用异步加载。其中场景切换异步加入了异步…

struts2 S2-057远程执行代码漏洞 靶场攻略

环境 vulhub靶场 /struts2/s2-057 漏洞简介 漏洞产⽣于⽹站配置XML时如果没有设置namespace的值&#xff0c;并且上层动作配置中并没有设置 或使⽤通配符namespace时&#xff0c;可能会导致远程代码执⾏漏洞的发⽣。同样也可能因为url标签没 有设置value和action的值&…

react + antDesign封装图片预览组件(支持多张图片)

需求场景&#xff1a;最近在开发后台系统时经常遇到图片预览问题&#xff0c;如果一个一个的引用antDesign的图片预览组件就有点繁琐了&#xff0c;于是在antDesign图片预览组件的基础上二次封装了一下&#xff0c;避免重复无用代码的出现 效果 公共预览组件代码 import React…

JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞

vulhub/jboss/JMXInvokerServlet-deserialization 1. 此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路径。访问若提示下载 JMXInvokerServlet&#xff0c;则可能存在漏洞&#xff1a; #创建class⽂件 javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCol…

SpringBoot开发——整合Apache POI轻松生成精美的Excel报表

文章目录 1、准备工作2、编写代码2.1 创建实体类2.2 创建Excel生成服务2.3 创建控制器 3、测试4、结论 在许多企业应用程序中&#xff0c;导出数据到Excel表格是一项常见的需求。Spring Boot提供了许多库来简化这个过程&#xff0c;其中包括Apache POI和Spring Boot的相关模块。…

格力嵌入式面试题及参考答案

break 和 return 的区别 break 和 return 在编程语言中都用于控制程序的流程,但它们有很大的区别。 break 主要用于循环语句(如 for 循环、while 循环)和 switch 语句中。在循环中,当遇到 break 语句时,立即终止当前循环,程序将从循环后的下一条语句继续执行。例如在一个…