开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
2 Star 0 Fork 1

mgang/python-study

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
python-study
/
cpu
/
pin.py
python-study
/
cpu
/
pin.py
pin.py 2.35 KB
一键复制 编辑 原始数据 按行查看 历史
mgang 提交于 2022年10月23日 16:12 +08:00 . cpu 完成内中断指令
# 需要的常量
# 寄存器编号
MSR = 1
MAR = 2
MDR = 3
RAM = 4
IR = 5
DST = 6
SRC = 7
A = 8
B = 9
C = 10
D = 11
DI = 12
SI = 13
SP = 14
BP = 15
CS = 16
DS = 17
SS = 18
ES = 19
VEC = 20
T1 = 21
T2 = 22
# 寄存器输出到BUS
MSR_OUT = MSR
MAR_OUT = MAR
MDR_OUT = MDR
RAM_OUT = RAM
IR_OUT = IR
DST_OUT = DST
SRC_OUT = SRC
A_OUT = A
B_OUT = B
C_OUT = C
D_OUT = D
DI_OUT = DI
SI_OUT = SI
SP_OUT = SP
BP_OUT = BP
CS_OUT = CS
DS_OUT = DS
SS_OUT = SS
ES_OUT = ES
VEC_OUT = VEC
T1_OUT = T1
T2_OUT = T2
# BUS写入到寄存器
_SHIFT = 5
MSR_IN = MSR << _SHIFT
MAR_IN = MAR << _SHIFT
MDR_IN = MDR << _SHIFT
RAM_IN = RAM << _SHIFT
IR_IN = IR << _SHIFT
DST_IN = DST << _SHIFT
SRC_IN = SRC << _SHIFT
A_IN = A << _SHIFT
B_IN = B << _SHIFT
C_IN = C << _SHIFT
D_IN = D << _SHIFT
DI_IN = DI << _SHIFT
SI_IN = SI << _SHIFT
SP_IN = SP << _SHIFT
BP_IN = BP << _SHIFT
CS_IN = CS << _SHIFT
DS_IN = DS << _SHIFT
SS_IN = SS << _SHIFT
ES_IN = ES << _SHIFT
VEC_IN = VEC << _SHIFT
T1_IN = T1 << _SHIFT
T2_IN = T2 << _SHIFT
# 源操作数读写
SRC_R = 2 ** 10
SRC_W = 2 ** 11
# 目标操作数读写
DST_R = 2 ** 12
DST_W = 2 ** 13
# PC
PC_WE = 2 ** 14
PC_CS = 2 ** 15
PC_EN = 2 ** 16
PC_OUT = PC_CS
PC_IN = PC_WE | PC_CS
PC_INC = PC_WE | PC_EN | PC_CS
# ALU = 2 ** 20
# _OP_0 = 17
# _OP_1 = 18
# _OP_2 = 19
# ALU_OUT = ALU
# OP_ADD = (0 << _OP_0) # 0 默认就是加法
# OP_SUB = (1 << _OP_0) # OP=001
# OP_INC = ALU | (1 << _OP_1) # OP=010
# OP_DEC = ALU | (1 << _OP_1) | (1 << _OP_0) # OP=011
# OP_AND = ALU | (1 << _OP_2) # OP=100
# OP_OR = ALU | (1 << _OP_2) | (1 << _OP_0) # OP=101
# OP_XOR = ALU | (1 << _OP_2) | (1 << _OP_1) # OP=110
# OP_NOT = ALU | (1 << _OP_2) | (1 << _OP_1) | (1 << _OP_0) # OP=111
# OP
_OP_SHIFT = 17
OP_ADD = 0
OP_SUB = 1 << _OP_SHIFT
OP_INC = 2 << _OP_SHIFT
OP_DEC = 3 << _OP_SHIFT
OP_AND = 4 << _OP_SHIFT
OP_OR = 5 << _OP_SHIFT
OP_XOR = 6 << _OP_SHIFT
OP_NOT = 7 << _OP_SHIFT
# ALU的4位
ALU_OUT = 1 << 20
ALU_PSW = 1 << 21
# 中断位写
ALU_INT_W = 1 << 22
# 中断有效位
ALU_INT = 1 << 23
# 开启中断
ALU_STI = ALU_INT_W
# 关闭中断
ALU_CLI = ALU_INT_W | ALU_INT
# 停止
HLT = 2 ** 31
# 指令周期
CYC = 2 ** 30
# 指令标志
# 2地址指令 1000 0000
ADDR2 = 1 << 7
# 1地址指令 0100 0000
ADDR1 = 1 << 6
ADDR2_SHIFT = 4
ADDR1_SHIFT = 2
# 立即寻址
AM_INS = 0
# 寄存器寻址
AM_REG = 1
# 直接寻址
AM_DIR = 2
# 内存寻址
AM_RAM = 3
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

和妙一起学python
暂无标签
Apache-2.0
使用 Apache-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/mgang/python-study.git
git@gitee.com:mgang/python-study.git
mgang
python-study
python-study
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /