您的位置:首页 > 编程语言

Nasm 汇编程序和Turboc的C程序混合编程,生成.com程序的方法

2008-01-23 21:48 453 查看
Nasm程序的结构:

SEGMENT _TEXT PUBLIC class=CODE ;注意只需定义该代码段即可,代码和数据在同一个段内
extern C函数(注意,以”_”开头)
resb 100h ;nasm obj文件不支持org,以resb 100h代替
..start: ;程序入口点
jmp begin
begin:
mov ax, cs
mov ds, ax
mov es, ax
push len_str
push BootMessage
call _input
global _DispStr ;C程序可以调用的过程
_DispStr:

ret
BootMessage: ;数据开始
times 9 db 0
len_str EQU $ - BootMessage

C程序的结构:(程序只能定义局部变量,其他数据只能定义在汇编程序中)

extern void DispStr(); // 引入汇编子过程
void input(char * off_BootMessage, int len)
{
off_BootMessage[0] = ‘a’;
DispStr();
}

编译过程:

Nasm 汇编程序.asm –fobj –o 目标程序1.obj ; 以OBJ格式输出
Tcc –c –mt –o目标程序2.obj C程序.c ;以小模式编译为目标程序
Tlink /t 目标程序1.obj 目标程序2.obj , DOS执行程序.com ;生成.com程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐