内联汇编输入和输出

时间:2019-07-01 17:41:50

标签: c++ linux x86-64 inline-assembly

如何在C ++ / asm内联汇编中将变量值加载到指定的寄存器中以及如何将指定的寄存器值重新加载到变量中?

这是GCC编译器提供的asm内联汇编语法示例 (X86_64 Linux):

/**
 * @format
 */

import {AppRegistry} from 'react-native';
import App from './src/App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);

所以本质上我想做这样的事情:

asm ("movq $60, %rax\n\t"
     "movq $2,  %rdi\n\t"
     "syscall");

解决方案:

int main(){

    int input = 5, output;

    asm(         // loading input into specified register

                 // doing work..

                 // finally loading register value into output
    );

0 个答案:

没有答案