源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何在TC2.0中调用汇编程序

  • 时间:2020-08-25 18:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何在TC2.0中调用汇编程序
TC是美国BORLAND 公司在IBM PC机上开发的一个高效、优化的C编译程序,它自带高效的全屏幕编辑程序,在集成开发环境下可支持编辑、编译、连接调试和运行等过程连续完成。     TC提供了与汇编语言的接口和在C程序中直接插入汇编指令代码的功能,支持以“远调用”和“近调用”方式来调用使用汇编语言编写的函数。     TC调用汇编语言函数时,对汇编语言的编写要求十分严格,并且对大小写字母也有严格的区分。如果在编写供TC调用的汇编函数时不按照规定好了的格式书写,调用是不会成功的。 下面先举一个在TC中调用汇编函数的例子,然后再详细讲解怎样做才能成功。 [b]步聚如下:[/b] [b]1、在TC集成环境中编写一个主程序(名为TCMAIN.C)[/b] /*程序功能:建立一个整型数组并输入数组的各元素值,调用汇编代码以取得元   素最大值和该最大值在数组中的位置*/ #include<stdio.h> void main() {     extern found(int i,int*j,int *k,int *s);     int i,j,k,s[10];     printf("Enter Values of Array:/n");     for(i=0;i<10;i++)        scanf("%d",&s[i]);     i=10;     found(i,&j,&k,s);     printf("/nThe Max_Value is:%d/n",j);     printf("The Place is:%d/n",k); } [b]2、在TC集成环境中编写如下汇编代码[/b](取名为TCFOUND.ASM) (功能:取得数组元素最大值和该最大值在数组中的位置)   PUBLIC _FOUND _TEXT SEGMENT BYTE PUBLIC 'CODE'   ASSUME CS: _TEXT _FOUND  PROC NEAR    PUSH BP    MOV  BP,SP    MOV  CX,[BP+4]    DEC  CX    MOV  SI,[BP+10]    LODSW    MOV  DX,1    MOV  BX,0 COMP:  CMP  AX,[SI]    JA  BIGGER    MOV  AX,[SI]    MOV  BX,DX BIGGER:  INC  SI    INC  SI    INC  DX    LOOP COMP    MOV  DI,[BP+6]    MOV  [DI],AX    MOV  DI,[BP+8]    MOV  [DI],BX    POP  BP    RET _FOUND  ENDP _TEXT  ENDS    END [b]3、用MASM宏汇编在命令行下对TCFOUND.ASM汇编: [/b]    masm tcfound.asm 汇编后生成一个模块文件 tcfound.obj 注意:如果tcfound.asm不在该目录下,必须指出该文件所在路径。       汇编后把tcfound.obj复制到TC目录下,以便于建立TC下的工程文件。 [b]4、工程文件的建立 [/b]   在TC集成环境下建一个新文件,其内容为: TCMAIN.C TCFOUND.OBJ 就只有以上两行内容,写完后保存为MYTC.PRJ [b]注意:[/b]MYTC.PRJ是一个工程文件,其后缀必须为.PRJ,这是TC中工程文件的标识。这个工程文件       的内容只有两行,说明了该工程包含了TCMAIN.C和TCFOUND.OBJ两个程序模块。对工程文件       编译连接时将依次编译和连接这两个文件,最后连接成可执行文件MYTC.EXE [b]5、编译连接前的设置 [/b]    由于TC对大小写字母非常敏感,而MASM汇编生成的OBJ文件均为大写字母,故需把LINKER选项中的CASE-SENSITIVE LINK(大小写敏感连接)开关关闭(OFF)状态。    [b]操作如下: [/b]F10--OPTION--LINKER    回车后选菜单的最下面的一项“CASE-SENSITIVE LINK”,把光标停在这一选项上,回车即可改变其设置为“OFF”状态。     最后不要忘了保存设置的结果。 [b]6、编译连接 [/b]    选菜单 F10---Project---Project name   回车后输入刚才建立的工程文件名MYTC     选菜单 F10---Compile---Build all  回车后即开始对工程文件MYTC.prj编译连接,最后生成可运行文件MYTC.EXE
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部