没有合适的资源?快使用搜索试试~ 我知道了~
在vc中使用内嵌汇编.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 3 浏览量
2021-09-28
08:54:41
上传
评论
收藏 50KB DOC 举报
温馨提示
试读
12页
在vc中使用内嵌汇编.doc
资源推荐
资源详情
资源评论
在 中使用内嵌汇编 母爱是一滴甘露,亲吻干涸的泥土,它用细雨的温情,用钻
石的坚毅,期待着闪着碎光的泥土的肥沃;母爱不是人生中的一个凝固点,而是一条流动的
河,这条河造就了我们生命中美丽的情感之景。在 中使用内联汇编
一、内联汇编的优缺点
因为在 中使用内联汇编不需要额外的编译器和联接器,且可以处理
中不能处理的一些事情,而且可以使用在 中的变量,所以非常方便。内联汇编
主要用于如下场合
使用汇编语言写函数;
对速度要求非常高的代码;
设备驱动程序中直接访问硬件;
的初始化和结束代码。
,理解了意思,但是不知道怎么翻译,大概就是不需要 的编译器
自 作 聪 明 生 成 的 函 数 初 始 化 和 收 尾 代 码 , 请 参 看 ! 的
"#$%&'&"#$的说明
内联汇编代码不易于移植,如果你的程序打算在不同类型的机器(比如 () 和 *+,)上
运行,应当尽量避免使用内联汇编。这时候你可以使用 * ,因为 * 支持更方便的
的宏指令和数据指示符。
二、内联汇编关键字
在 使用内联汇编用到的是- 关键字,这个关键字有两种使用方法
简单- 块
-
.
/*01
/!213!334
/56*01!2
7
在每条汇编指令之前加- 关键字
-/*01
-/!213!334
-/56*01!2
因为- 关键字是语句分隔符,因此你可以把汇编指令放在同一行
-/*01-/!2132!334-/56*01!2
显然,第一种方法和 的风格很一致,并且有很多其它优点,因此推荐使用第一种方
法。
不象在 中 的 .7,- 块的.7不会影响 变量的作用范围。同时
- 块可以嵌套,嵌套也不会影响变量的作用范围。
三、在- 块中使用汇编语言
内联汇编指令集
内联汇编完全支持的 #&() 指令集,允许使用 2 指令。不支持的指令可以使用
8#6 伪指令定义8#6 伪指令说明见下文。
* 表达式
内联汇编可以使用 * 中的表达式。比如/8*21。
数据指示符和操作符
虽然- 块中允许使用 的数据类型和对象,但它不能用 * 指示符和操作符
定 义 数 据 对 象 。 这 里 特 别 指 出 , - 块 中 不 允 许 * 中 的 定 义 指 示 符
!9、!:、!!、!;、!6 和 !<,也不允许 !5= 和 6># 操作符。* 结构和记录也不
再有效,内联汇编不接受 6?5、?8/?!、 :#!6> 或者 * @。
88 和 *0#A 指示符
尽管内联汇编不支持大多数 * 指示符,但它支持 88 和 *0#A,当需要的时候,这
些指示符在汇编代码里面加入 /=空操作指令使标号对齐到特定边界。这样可以使某些
处理器取指令时具有更高的效率。
B* 宏指示符
内联汇编不是宏汇编,不能使用 * 宏指示符*?/、?8=6、#?、#?= 和 8!
和宏操作符"$、C、D、E和6F=8。
)段说明
必须使用寄存器来说明段,跨越段必须显式地说明,如 8 G92H。
4类型和变量大小
我们可以使用 08A6> 来取得 中的数组中的元素个数,如果不是一个数组,则结
果为一。使用 #I8 来取得 中变量的大小,一个变量的 大小是 08A6> 和 6F=8 的
乘积。6F=8 用来取得一个变量的大小,如果是一个数组,它得到的一个数组中的单个元素
的大小。
(注释
可以使用 的注释,但推荐用 * 的注释,即J号。
8#6 伪指令
8#6 伪指令相当于 * 中的 !9,但一次只能定义一个字节,比如
-
.
K='/%*-
8#6333J定义混合在代码段的数据
8#633
'/%*-
J这里是代码
8#633J/= 指令
7
四、在- 块中使用 语言元素
与汇编可以混合使用,在内联汇编可以使用 的变量和很多其它 的
元素。在- 块中可以使用以下 元素
符号,包括标号、变量和函数名;
常量,包括符号常量和枚举型&-成员;
宏定义和预处理指示符;
注释,包括LL和;
B类型名,包括所有 * 中合法的类型
)M+% 名称, 像 =6?、6F=8、特定的结构成员或枚举成员这样的通用操作符。
在- 块中,可以使用 或 * 的基数计数法比如333 和 33> 是相等的。
- 块中不能使用像""一类的 操作符。和 * 通用的操作符,比
如L和GH操作符,都被认为是汇编语言的操作符。举个例子
&NNMGG3HHJ
-/NNMGG)HH192J 'N92NNM)&'
NNMGG)HHO3JL 'N3NNML
剩余11页未读,继续阅读
资源评论
zhenlou12
- 粉丝: 7
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功