您的位置:首页 > 其它

evc中嵌汇编实验心得

2010-04-21 11:18 190 查看

evc中嵌汇编实验心得

1.基于X86的CPU可以直接在C/C++中用_asm关键字嵌入汇编程序.有一点要注意:某些系统标识符不可使用.
例如在下面程序中:
__asm{
MOV DX ,218
MOV CX ,16
MOV BL ,0
MOV AL ,BL
OUT DX ,AL
INC DX
OUT DX ,AL
}
OUT 关键字在WINDEF.H中的74行有以下的定义:
#ifndef OUT
#define OUT
#endif
-------------------------
所以里面的OUT就不能是大写,但可以是Out,ouT,OUt,oUt.等,随你喜欢啦!随便挑一个就可以了.

2.基于ARM的CPU使用EVC不支持直接嵌入汇编,必须按照以下步骤:

(1). 首先用记事本建立汇编程序,保存为.s文件.要在s文件里面export 用到的函数
(2). 编译汇编档案
a. 进入DOS环境, 将当前目录改为wince的bin目录, 如下
cd C:/Program Files/Microsoft eMbedded C++ 4.0/EVC/wcexxx/bin
b. 使用里头的armasm.exe编译汇编档案.(这个armasm的用法可以用 -help 查使用格式)
armasm -cpu XSCALE(此处为你的CPU) -o F:/Test/Asm_Test/test_s.obj(目标
obj文件) F:/Test/Asm_Test/test_s.s
(3). 将生成的test_s.obj 加入到你自己工程的 "object/library modules" ( on the
page ProjectSetting->Link)
(4). .c , .cpp文件里需要声明一下,使用 extern func().然后就可以作为函数直接引用了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: