首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将伪码转换成机器码

将伪码转换成机器码
EN

Stack Overflow用户
提问于 2014-03-06 17:30:04
回答 1查看 1.4K关注 0票数 0

为了学术目的,我被要求翻译这份声明。

代码语言:javascript
复制
assign x the value 5

由一位计算机科学书籍的作者组成的机器代码,名为布鲁克切割机代码。我得到的提示是

(HINTS: Assume that the value of x is to be stored into main memory location 47. Your program would begin by loading a value into a register. You do not need to specify the memory locations of your program. Don't forget to end the program with the HALT instruction.)

我想知道是否有人知道最好的方法来解决这个问题?他明确表示要以停止指令结束,但我不确定我到底该做什么。

0iii -不-操作

1RXY -带有位置XY内容的负载寄存器R

2RXY -具有XY值的负载寄存器R

3RXY -在XY位置存储寄存器R的内容

4 4iRS将寄存器R的内容移到寄存器S

5 5RST将寄存器S和T的内容添加为二进制数,放置在寄存器R中

6 6RST将寄存器S和T的内容添加为浮点数,放置在寄存器R中。

7 7RST或把寄存器S和T的内容放在一起,就会产生寄存器R

8 8RST以及寄存器S和T的内容,位置导致寄存器R

9 9RST XOR将寄存器S和T的内容加在一起,产生寄存器R

ARiZ -将寄存器R的内容向右旋转一位,Z次

BRXY -在XY跳到指令,如果寄存器R的内容等于寄存器0的内容

Ciii -停止

DRXY -如果寄存器R的内容大于寄存器0的内容,则在XY跳到指令

R,S,T-寄存器数

XY -一个单字节地址或数据值

Z-半字节值

当指令被解编码时我被忽略:通常输入为0。

以上是我期望使用的机器语言。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-06 17:40:17

如果有指示就好了:

代码语言:javascript
复制
 EABXY - Store value XY at location AB

如果存在该命令,您的程序将是:

代码语言:javascript
复制
 E4705   # store '05' at address '47'
 C000    # halt

但是,这个指令并不存在--部分原因是它需要五个半字节的字符,而这些指令应该包含在四个字符中。

所以你必须用两个步骤来模拟E指令。

不能指定要直接放入地址的值。

  • 有一条指令允许您指定一个值并将其放在某个地方。
  • 有一条指令将值从某个地方复制到一个地址中。

这真是足够的线索了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22231735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档