我正在使用rars Risc模拟器,我必须从我的计算机读取一个24位位图图像,并将其显示在Rars中。我所做的就是用risc-v系统调用打开图像,然后我尝试使用read调用来读取它。
la a0, file_name
li a7, 1024 #system call for open
li a1, 0 #open for reading
ecall
mv s6, a0 #save the file descriptor to s6
#read file
li t0, -1
beq a0, t0, error
mv a0, s6
la a1, b
我在RISC-V RARS 1.3应用程序中创建的这个程序被设计为接受一个十进制数,并计算该数字中有多少位。我正在测试的是十进制数5,这个程序应该适用于我放在t1上的任何正数。这是我创建的代码。程序的目的是每当AND函数的结果不为0时添加一个计数器,但我遇到的问题是程序不会停止。有没有解决这个问题的办法?
_start:
li t1,2 # start with decimal 5, binary 101
li t2,1 # adding counter for AND function
li t3,0 # bit counter count
li t4,0 # to compare 0
我对%hi()汇编程序函数有问题。这个问题是RISC-V GNU汇编程序特有的.编写此程序:
lui a4,%hi(0x0001ff00) # Does not give what I expect
lui a4,0x1f #
.word 0x0001f737 #
使用
riscv32-unknown-elf-as -o strange_lui.o strange_lui.s
riscv32-unknown-elf-objdump -D strange_lui.o
给
strange_lui.o: f