自己动手写cpu 光盘_自己动手写CPU配套源码

这篇博客主要介绍了如何自己动手写CPU的源代码,涉及MIPS指令的实现。同时,详细探讨了Python中的生成器,包括其工作原理、方法以及错误处理。此外,文章还讲解了递归函数的概念、调用原理、递归边界设定以及递归函数实现阶乘和斐波那契数列的例子,强调了设置递归临界点的重要性。
摘要由CSDN通过智能技术生成

自己动手写CPU的源代码,一共15章,可以完整实现MIPS的指令

文件:n459.com/file/25127180-476886294

以下内容无关:

-------------------------------------------分割线---------------------------------------------

目录

  • 一、往期回顾
    • 1.生成器代码详解
    • 2.生成器的三个方法
  • 二、递归函数
    • 1.什么是递归函数
    • 2.递归函数调用原理图
    • 3.递归边界
    • 4.通过递归函数实现的任意数的阶乘
    • 5.这个递归函数的递归临界点在哪?
    • 6.斐波那契数列
  • 三、系列推荐

一、往期回顾

1.生成器代码详解

def gen():
    for i in range(5):
        j = yield i
        print(j)


# send:与生成器进行交互
g = gen()

print(next(g))
print(next(g))

a00d8d8f4d2f27b97b14cba97fb276bf.png

第一个print(next(g))打印的 0,就是生成器生成的元素。第二个print(next(g))打印的 1 也是生成器生成的元素,None 是print(j)打印的j

通过生成器获取元素的时候,首先生成器进去的话,当调用生成器获取里面的值,它会从上往下走,走到j = yield i这里,把yield这里的i这个值返回出来,调用完gen()返回一个生成器g

通过这个生成器next(g)去拿值的时候,然后它从上往下执行代码,走到j = yield i这里,yield相当于把i,通过yield返回出去。

从生成器里面返回出来,就生成一个数据。生成这个i,到第一个print(next(g))这里,打印的就是i

第二个print(next(g)),再用next()调用生成器的时候,那么这个生成器会从yield之后继续往下执行。

通过next()去触发生成器的时候,yield之后是没有内容的,j接收的就是空的,所以打印j的时候,打印出来的是个None

2.生成器的三个方法

# 生成器的三个方法: send  close  throw

def gen():
    for i in range(5):
        j = yield i
        print(j)


# send:与生成器进行交互
g = gen()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值