mips

    -1热度

    1回答

    我已经看到这个问题已经被问到了,但我试图找出为什么这个逻辑不起作用。我已经试过这段代码,将它翻译成C++并且工作正常。但在这里它正在打印数组的最后一个元素。帮帮我? .data Array: .word 500 100 250 150 Len: .word 4 Sum: .word 0 Average: .word 0 NewLin

    0热度

    1回答

    sb $s. i($d) 当$s的至少显著字节存储在存储器地址[I + $ d],什么是[I + $ d]其他3个显著字节? 它是在$ s最低有效字节的符号扩展或零扩展吗? 编辑:sb商店$s的至少显著字节到的在地址空间恰好1字节 [I + $ d]。因此,不需要扩展。

    0热度

    1回答

    我想知道为什么我得到一个十进制数作为答案。例如,如果我输入2和2答案应该是4,但输出为0.04 .data msg1: .asciiz "Please enter a number i " msg2:.asciiz "Please enter a number j " .text .globl main main: la $a0,msg1 #print message l

    1热度

    1回答

    我有一个MIPS程序集中的程序,它应该在我的消息中交换一个字符。 如果字符是'a',它会被字符'b'交换。 所以我有:“霍拉”,它必须打印“hollb”。 有我有什么: .data string: .asciiz "holla" a: .ascii "a" a1: .ascii "b" tam: .word 5 .text main: lw $t6, tam #string le

    0热度

    1回答

    我正在学习如何做MIPS,我对乘法感到困惑。假设我将以下C代码转换为MIPS。 c = b + a*3 将a,b,c分别存储在寄存器$ s1,$ s2,$ s3中。我该如何在MIPS中写入* 3?是否有一个addi类型的乘法指令,或者我将3存储在一个临时寄存器中并使用像这样的mult操作符? addi $t0, $zero, 3 mult $s1,$t0 如果是这样,我该如何获得该操作的

    0热度

    1回答

    于是就https://en.wikipedia.org/wiki/Cycles_per_instruction它说: 对于多周期MIPS,共有5种类型的指令: 负载(5次) 存储(4个循环) R型(4个循环) 科(3个循环) 跳转(3个循环) 我不确定指令'addi'需要多少个周期,因为没有具体提及它。 'add'是R型指令,因此需要4个周期,所以我最好的猜测是'addi'(I型指令)也需要4个。

    -2热度

    2回答

    我在问自己,如果在MIPS中所有32位都为零的指令就像是一条NOP指令或是一条现有的指令。我的意思是,如果“op,rs,rt,rd,shamt和funct”都是零?

    0热度

    1回答

    我的理解是: 零扩展的速释意志垫立即与左零,因此: ori $t1, $0, 0xF 结果: 0x0000000F 登录扩展直接 - 意志垫眼前最显著位,所以: addi $t1, $0, 0xF 结果: 0xFFFFFFFF 我显然是错误的,但为什么呢?

    0热度

    1回答

    这是我第一次编码PCSPIM。我发现我的代码有点麻烦。 .data user_input: .asciiz "\n\nEnter an Integer for the value of n: " result_display: .asciiz "\nThe sum from 0 to n is " Greeting: .asciiz "\n\nThank you!" .text

    0热度

    1回答

    我在32位MIPS处理器上有直接映射的指令缓存。容量为2048字节,块大小为16字节。 假设在循环的每次迭代中执行10条指令。在循环开始之前,我们可以假设 缓存为空(所有有效位都设置为零)。 循环中的第一条指令从地址0x00400200开始。 什么是执行循环时的缓存命中率, 如果循环迭代10次?