gpt4 book ai didi

c - 将 asm 嵌入到 C 编程中

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:02 26 4
gpt4 key购买 nike

我正在努力学习自己的汇编,我一直在阅读不同的网站,首先了解一些寄存器的含义,if-the 等,并看到有关如何使用它们的示例。

但是我觉得它并不容易理解。该程序找到某些字母并使用二维数组在棋盘中对它们进行计数。我想用汇编代码替换函数 void print_results()void count() 的一部分,因为这在常规 C 代码中非常容易。

我不确定如何开始,所以我对一个好的开始更感兴趣,特别是如何将变量从 void read_board() 传递给函数 void count() 来计算找到的字母,之后我想我可以靠自己了。

感谢任何帮助,谢谢。

#include <stdio.h>

FILE *inputFilePtr;
char board[7][7];

void usage() {
printf("usage: one filename argument.\n");
}

void read_board() {
int i, j;
for (i=0; i != 7; i++) {
for (j=0; j != 7; j++) {
fscanf(inputFilePtr, "%c", &board[i][j]);
}
fscanf(inputFilePtr, "\n");
}
}

void count() {

__asm__("\
");

}

void print_results() {

}

int main(int argc, char**argv) {
if (argc != 2) {
usage();
return 1;
}

inputFilePtr = fopen(argv[1], "r");
if (inputFilePtr == NULL) {
printf("Couldn't open file, %s\n", argv[1]);
return 1;
}

read_board();

count();

print_results();

return 0;
}

最佳答案

如果我没弄错,您需要调用约定。也许这有帮助:http://en.wikipedia.org/wiki/Calling_convention

关于c - 将 asm 嵌入到 C 编程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9931467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com