mips

    0热度

    2回答

    我正在用bison构建一个编译器并遇到这个问题。 我需要动态分配内存并存储字符串,然后打印它的内容。 我考虑过在数据部分保存一个指针,然后分配内存保存指针中的地址,然后分配字符串val然后打印它。 我的问题是当我试图打印字符串时,它只打印第一个字符。 这里是一个代码示例。 .data p: .word 0 # pointer to save the allocated memory fi

    2热度

    1回答

    我真的需要这个帮助。我正在尝试创建一个将所有小写转换为上部的函数。 例如:“大家好!” - >“大家好 这是我迄今为止(我知道这是不是很多,但我只是不知道如何从搬到这里,一直试图小时) to_upper: #PSEUDOCODE: # load byte # send to the ASCII-function # check if the ASCII is

    1热度

    1回答

    根据以下链接,“Hello”的大小为6,因为末尾为空(因为其ASCII码为z)。 MIPS: Size of .asciiz? 但什么是大小的 “Hello \ n” 8或7? 是\n认为是1字节还是2字节?

    1热度

    1回答

    所以我介绍了MIPS编程的基础知识,并将字符串作为输入。我需要计算每个单词中的平均字符数。所以我需要计算空格的数量和其他字符的数量。任何想法我怎么能做到这一点? 我的代码: .data userInput: .space 40 .text main: li $v0, 8 la $a0, userInput li $a1, 40 syscall li $v0, 10 sys

    -3热度

    3回答

    所以在阵列下面的输入会像 Array: {7 2 5 -3 3 6 -4 1} 和序列将 Subseq: : 7 2 5 -3 3 6 和答案的最大的一笔是20那么,究竟是怎么回事这里。我不了解子序列的概念。读完后,我认为子序列从数组[0]开始,到数组[n]并选取最大数字,但似乎并非如此,因为数字应该在数字7之后停止。我很困惑这个用户输入数组究竟是一个子序列。

    1热度

    1回答

    我有我的学校项目,并在纸上面写 1 nop 2 add $1, $2; //RF[1]=RF[1]=RF[2] 3 beq $1, $3, #1 //if (RF[1]==RF[3]) skip inst 5 4 nop 5 add $4, $1 //RF[4]=RF[4]+RF[1] 6 add $5, $1 //RF[5]=RF[5]+RF[1] 因此,在第3行,BEQ在指令

    0热度

    2回答

    我需要在MIPS汇编中实现一些代码,特别是使用定点算法。我错过了什么,或者那里没有这样的事情?如果它不是MIPS的一部分,我如何使用整数实现定点,即add/sub/mul/div?

    1热度

    1回答

    这是迄今为止我已转换的C代码。它给了我一些错误,我已经包含在下面的代码中。我不明白哪个部分是错误的在这个C来碾压转换? char ch[10]; int i; for (i = 0; i != 10; i++) ch[i] = ch[i] – 32 .data .text li $v0 4 syscall #$s1 = i, $s0 base address of ch

    3热度

    1回答

    我是mips的新手,我已经阅读了一些关于Big endian和little endian的内容。 我想知道如何将字符串“你好”放在mips处理器的内存中?

    3热度

    2回答

    我刚学过MIPS架构在课堂上。我正在阅读其他指令集体系结构(当前为ARM),并发现ARM和MIPS之间存在一些差异。两者都有不同的指令格式,寄存器组等。 从MIPS的ARM的数据路径有什么区别吗?因为数据路径涉及到读取,解码和执行指令,并且它必须与所有指令集体系结构相同。 我无法从我正在阅读的位置找到有关ARM数据路径的信息。