【问题标题】:mips assembly code to shift the bit programming [closed]mips 汇编代码以移位编程[关闭]
【发布时间】:2016-06-02 15:31:03
【问题描述】:

读入你的学生证并将其保存到一个寄存器中,并读入数字“10010000x”作为首字母 内存地址。然后将您的学生证号码一次向右移动一位,并将其保存到 从前一个内存地址增加 4 个字节的内存地址,直到您的 学生证号小于1,然后保存您的最终学生证号,不小于1 大于1,并保存最后的内存地址,以及迭代到3个不同内存的次数 地址。上交具有 MIPS 组件的 MARS 图形打印输出的硬拷贝 显示您的学生证、内存地址和所有寄存器值的代码,并回答 关于硬拷贝纸的以下三个问题:
(1) 你需要右移多少次才能让你的学生证号码小于 1 ? (2) 你最后一个不小于 1 的二进制学生证号码是多少? (3) 保存最后一个不小于 1 个学生 ID 的最后一个内存地址是什么?

【问题讨论】:

    标签: assembly while-loop bit-shift mips32 instruction-set


    【解决方案1】:
    li $t0, 0x10010000
    li $t1, student id
    li $s3, 1
    li $s5, 1
    add $s0, $t0, $zero
    add $s1, $t1, $zero
    loop1 : sw $s1, 0($s0)
    srl $s2, $s1, 1
    slt $s4, $s2, $s3
    beq $s4, $s3, L2
    addi $s0, $s0, 4
    add $s1, $s2, $zero
    add $s5,$s5,$s3
    j  loop1
    L2 : addi $s0, $s0, 4
    sw $s5, 4($s0)
    sw $s2, 8($s0)
    addi $t3, $s0, -4
    sw $t3, 12($s0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 2014-08-16
      相关资源
      最近更新 更多