【发布时间】:2017-01-08 19:51:04
【问题描述】:
我一直在学习计算机,目前我的任务是学习如何使用 qtSPIM 在 MIPS 汇编器中编程。
我目前正在处理的任务是编写一个程序作为例程,以将图片(PGM 5,二进制)从我的硬盘驱动器加载到数组中。在piture的开头还有一个header,它包含宽度、长度、颜色深度和颜色数量。
据我所知,我必须使用系统调用 14 来执行此操作。该函数的参数是“$a0 = 文件描述符,$a1 = 缓冲区,$a2 = 长度”。但不幸的是,我没有找到任何有关使用此函数读取特定尺寸(64x64 像素)图片的程序的正确语法的信息。
如果有人能帮我解决这个任务,我将不胜感激。
提前致谢,
麦克风
【问题讨论】:
-
有什么问题?到目前为止,您尝试过什么,您的代码是什么?
-
我的代码,到目前为止,看起来像这样: # # load_img # .data buffer: .space 4096 .text main: la $a0, buffer # 将咬空间加载到缓冲区 li $a1, 4096 # allot字符串的咬合空间 move $to, $a0 # 将字符串保存到 $t0 li $v0, 13 syscall jr $ra
-
我无法理解的是,如何告诉程序它必须读取的文件的地址。正如我已经说过的,这个文件在我的硬盘上......
-
使用正确的格式将其编辑到问题本身中。也没有明确的问题......好吧,问题。
-
虽然我对您的系统或任何事情一无所知,但根据您的说法,系统调用需要一个缓冲区,因此您可能需要以某种方式将文件加载到内存中。
标签: assembly mips system-calls qtspim