网教29. 微处理器模拟

本文介绍了具有特定特性的小型微处理器,其内存为256个字,使用四位字和双字地址。处理器拥有9条指令,部分指令带有参数。程序从地址00开始执行,直至遇到终止指令。内容包括了输入输出的详细说明和示例。
摘要由CSDN通过智能技术生成

描述

考虑一个具有以下特性的的小型微处理器:

  • 每个字有四位。
  • 地址是两个字。 高字在前。 也就是说两个字组成的地址中的高字总是在低字的内存前。
  • 内存占有256个字。
  • 有两个累加器,A和B, 每个存储一个字。
  • 一个有9个指令代码。每个指令需要至少一个字来存储代表这条指令的代码。有四条指令有参数并需要额外的两字。

每个四位代表的数字可以有值0~15,包括0和15在内,10进制。我们会以常见的十六进制的行式编写代码。也就是说A代表10,B代表11……

下面是9条指令:

代 码 字数

描述

0 3 LD:装载指令中参数代表的地址的内容到累加器A
1 3 ST:向指令中参数代表的地址写入累加器A的内容
2 1 SWP:交换A和B的内容
3 1 ADD:将A和B中的内容相加,并将结果的低字写入A,高字写入B
4 1 INC:A中数加1,允许向上溢出,也就是说F+1-->0
5 1 DEC:A中数减1,允许向下溢出,也就是说0-1-->F
6 3 BZ:如果A=0,下一个要执行的命令是在参数代表的地址的指令;如果A不是0,则参数被忽略不执行。
7 3 BR:下一条要执行的指令在参数指定的地址。
8 1 STP:程序中止执行。

微处理器每次都从00处的代码开始执行,并一直执行直到遇到中止的命令。

以下的例子表现了部分的程序并描述了它们的功效。

程序 描述
01A8 将在1A(10进制26)处的内容装入A,并终止。
01A512F8 将在1A(10进制26)处的内容装入A,A减1,把结果保存在2F处,并终止。

输入

在输入中将包含由正好256个字符组成的数行。每一行都代表内存的内容,地址00到FF。

如果一行代码的00处是8,程序结束输入。程序运行的过程中不会从内存中溢出,也就是说不会有F0到FF的指令让你去执行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值