mips汇编代码移位位编程
mips assembly code to shift the bit programming
读入你的学号并存入寄存器,读入数字“10010000x”作为初始值
内存地址。然后把你的学号往右移一位,保存到
从前一个内存地址递增 4 个字节的内存地址,直到你的
学号小于1,则保存你最终的不小于1的学号
比1,并保存最后一个内存地址,以及迭代到3个不同内存的次数
地址。上交包含 MIPS 程序集的 MARS 图形打印输出的硬拷贝
显示您的学生 ID、内存地址和所有寄存器值的代码,以及答案
硬拷贝纸上的以下三个问题:
(1) 你要右移多少次才能让你的学号小于1?
(2) 你最后一个不小于 1 的二进制学号是多少?
(3)最后一个不小于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)
读入你的学号并存入寄存器,读入数字“10010000x”作为初始值
内存地址。然后把你的学号往右移一位,保存到
从前一个内存地址递增 4 个字节的内存地址,直到你的
学号小于1,则保存你最终的不小于1的学号
比1,并保存最后一个内存地址,以及迭代到3个不同内存的次数
地址。上交包含 MIPS 程序集的 MARS 图形打印输出的硬拷贝
显示您的学生 ID、内存地址和所有寄存器值的代码,以及答案
硬拷贝纸上的以下三个问题:
(1) 你要右移多少次才能让你的学号小于1?
(2) 你最后一个不小于 1 的二进制学号是多少?
(3)最后一个不小于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)