在臂组件中使用fopen

问题描述 投票:0回答:1

我有一段C代码,要在Raspberry Pi 3上转换为手臂组件。

在进入文件的fopen分支之前,我如何将bmp图片传递到一个寄存器中用于读取?

我正在转换的C代码 -

    char ifile[80] = "rainbow2.bmp";
    char ofile[80] = "rainbow_out.bmp";

    FILE *fpin, *fpout;

    fpin = fopen(ifile, "rb");
    fpout = fopen(ofile, "wb");

我在想类似这样的事情

    mov r0, ifile  @  r0 = rainbow2.bmp
    mov r1, rb     @  r1 = read ?
    bl fopen       @  fopen returns in r0/r1/fpin?
    mov r4, r0     @  r4 = fpin

    mov r0, ofile  @  r0 = output file rainbow_out.bmp
    mov r1, wb     @  r1 = write ?
    bl fopen       @  fopen returns *fp?
    mov r5, r0     @  r5 = fpout

我认为ifileofile,rbwb的值是错误的。我不知道在同一个文件夹中打开bmp图片时需要传递什么到寄存器中?

c assembly arm fopen bmp
1个回答
1
投票

找到解决方案了。

    ldr r0, =inFile   @  r0 = rainbow2.bmp
    ldr r1, =rb       @  r1 = read
    bl fopen          @  fopen returns in r0/r1/fpin?
    mov r4, r0        @  r4 = fpin
© www.soinside.com 2019 - 2024. All rights reserved.