汇编指令
,例如:
main()
{
asm
mov
ah,2
asm
mov
bh,0
asm
mov
dl,
20
asm
mov
dh,10
asm
int
10h
/*调用BIOS中断设置光标位置*/
}
asm文件是宏汇编文件,在c中调用方法如下:1、编写汇编程序:
#include <xc.inc>
GLOBAL _add声明全局可用的函数add
SIGNAT _add,4217 告诉编译器调用方式
PSECT mytext,local,class=CODE,delta=2
our routine to add to ints and return the result
_add:
W is loaded by the calling function
BANKSEL (PORTB) select the bank of this object
ADDWF BANKMASK(PORTB),w add parameter to port
the result is already in the required location (W)so we can just return immediately
RETURN
2、编写c语言程序
//声明调用外部的汇编程序
extern unsigned char add(unsigned char a)
void main(void) {
volatile unsigned char result
result = add(5) // 开始调用上面声明的汇编函数
}
Turbo C 2.0 中,利用asm关键字实现在源程序中嵌入汇编语句。在TC2中,asm是一个关键字(key word)用来在程序中嵌入汇编语言。使用asm关键字的格式为:
asm {
汇编程序语句块
}
因为asm是TC2的关键字,所以用asm嵌入汇编程序不需要特殊的头文件。
在你的程序中,函数iowrite 和 ioread是利用嵌入汇编程序实现的。按常规方法向函数传入参数,调用,获取返回值。也就是说,用汇编实现的函数与常规函数没有什么差异。