Linux下C语言asm,linux下的C语言的asm内嵌式汇编

Linux 嵌入式汇编

在Linux内核编程中需要完成大量与具体硬件相关的操作,由于C语言无法直接对硬件操作。GCC提供了嵌入式汇编的功能,即可以在C语言代码中内嵌汇编语言完成对硬件的直接操作。

下面先给出一个例子:

0818b9ca8b590ca3270a3433284dd417.png 

内嵌汇编格式:

asm(     汇编语句模板

:输出部分

:输入部分

:破坏描述

)

内嵌汇编格式总共4个部分:汇编语句、输出部分、输入部分、破坏描述。各个部分之间用英文中的分号(colon)隔开。

汇编语句模板部分必不可少

,其它3个部分可选。关键字asm,是告诉GCC编译器后面括号内的代码是内嵌汇编。

汇编语句模板

内嵌汇编语句模板是由汇编指令序列组成,这些汇编指令之间需要使用分隔符(delimiter)如:“;”、“\n”或者“\n\t”分开。除

了常规汇编中的操作数(立即数、寄存器、变量)之外,内嵌汇编中的汇编指令的操作数还可以是占位符,操作数占位符最多有10个,依次用%0,%1,%2,%3,···%9来表示,他们与操作数(包括输出列表、输入列表)出现的次序依次对应,代表相应的操作数。比如说示例程序中的占位符%0代表操作数output,占位符%1代表操作数inpu

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值