C和汇编嵌入
adam
posted @ 2010年11月05日 05:42
in 汇编和嵌入式
, 716 阅读
这是个简单例子: /* C语言程序:a1.c */ extern asub(); main() { asub(); /* 调用汇编语言子程序 */ } csub(char * str) /* C语言函数,str是地址参数 */ { printf("%s\n",str); } ; 汇编语言程序:a1s.asm .model small,c extern csub:near .data astring db ’OK, Assembly !’,0dh,0ah,’$’ cstring db ’Good, Turbo C 2.0 !’,0 .code PUBLIC asub asub proc mov dx,offset astring ;汇编语言子程序显示信息 mov ah,09h int 21h mov ax,offset cstring ;得到字符串的偏移地址 push ax ;压入调用参数 call csub ;调用C函数 add sp,2 ;平衡堆栈 ret asub endp end