alibaba

alibaba

0个粉丝

3

问答

0

专栏

1

资料

alibaba  发布于  2008-11-15 12:47:57
采纳率 0%
3个问答
2905

C中嵌入汇编的程序

 
#ifdef ASM
         unsigned long shiftR1(register unsigned long);
#else   
         extern unsigned long shiftR1(register unsigned long);
#endif
//end of asm.h

//
#define ASM
#include
#include
#pragma OT(4,speed)
unsigned long    shiftR1(register unsigned long    x)
{
    #pragma asm
    clr c
    mov a,r4
    rrc a
    mov r4,a

    mov a,r5
    rrc a
    mov r5,a

    mov a,r6
    rrc a
    mov r6,a

    mov a,r7
    rrc a
    mov r7,a
   
    #pragma endasm
    return(x);
}
//end of asm.c
/*将此源文件加入要编译的工程文件,
//将光标指向此文件,选择右键菜单“option for file 'asm.c'”,
//将属性单“properties”中的“Generate Assembler SRC File”“Assemble SRC File”
//两项设置成黑体的“√”将“Link Public Only”的“√”去掉,再编译即可。
//用此方法可以在c源代码的任意位置用#pragma asm和#pragma endasm嵌入汇编语句。
//但要注意的是在直接使用形参时要小心,在不同的优化级别下产生的汇编代码有所不同,
//可以察看对应的.lst文件看一看,得到正确的优化级别后,#pragma OT(x,speed)锁定
//优化级别(这里的值是0-9)。
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区