TC是美国BORLAND 公司在IBM PC机上开发的一个高效、优化的C编译程序,它自带高效的全屏幕编辑程序,在集成开发环境下可支持编辑、编译、连接调试和运行等过程连续完成。
    TC提供了与汇编语言的接口和在C程序中直接插入汇编指令代码的功能,支持以“远调用”和“近调用”方式来调用使用汇编语言编写的函数。
    TC调用汇编语言函数时,对汇编语言的编写要求十分严格,并且对大小写字母也有严格的区分。如果在编写供TC调用的汇编函数时不按照规定好了的格式书写,调用是不会成功的。

下面先举一个在TC中调用汇编函数的例子,然后再详细讲解怎样做才能成功。
步聚如下:
1、在TC集成环境中编写一个主程序(名为TCMAIN.C)
/*程序功能:建立一个整型数组并输入数组的各元素值,调用汇编代码以取得元
  素最大值和该最大值在数组中的位置*/
#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);
}
2、在TC集成环境中编写如下汇编代码(取名为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

3、用MASM宏汇编在命令行下对TCFOUND.ASM汇编:
    masm tcfound.asm
汇编后生成一个模块文件 tcfound.obj
注意:如果tcfound.asm不在该目录下,必须指出该文件所在路径。
      汇编后把tcfound.obj复制到TC目录下,以便于建立TC下的工程文件。
4、工程文件的建立
   在TC集成环境下建一个新文件,其内容为:
TCMAIN.C
TCFOUND.OBJ
就只有以上两行内容,写完后保存为MYTC.PRJ
注意:MYTC.PRJ是一个工程文件,其后缀必须为.PRJ,这是TC中工程文件的标识。这个工程文件
      的内容只有两行,说明了该工程包含了TCMAIN.C和TCFOUND.OBJ两个程序模块。对工程文件
      编译连接时将依次编译和连接这两个文件,最后连接成可执行文件MYTC.EXE

5、编译连接前的设置
    由于TC对大小写字母非常敏感,而MASM汇编生成的OBJ文件均为大写字母,故需把LINKER选项中的CASE-SENSITIVE LINK(大小写敏感连接)开关关闭(OFF)状态。
    操作如下:
F10--OPTION--LINKER    回车后选菜单的最下面的一项“CASE-SENSITIVE LINK”,把光标停在这一选项上,回车即可改变其设置为“OFF”状态。
    最后不要忘了保存设置的结果。
6、编译连接
    选菜单 F10---Project---Project name   回车后输入刚才建立的工程文件名MYTC
    选菜单 F10---Compile---Build all  回车后即开始对工程文件MYTC.prj编译连接,最后生成可运行文件MYTC.EXE

转载于:https://www.cnblogs.com/carekee/articles/2569791.html

TC2.0中怎样调用汇编程序相关推荐

  1. c语言中如何调用汇编程序

     1.如果汇编程序是可执行文件,比如exe文件,则可以使用system函数直接调用.比如下面的代码,用system()打开windows上的记事本程序. 1 2 3 4 5 6 7 #includ ...

  2. Coco2dx-3.0中怎样调用LUA

    一个用3.0的工具导出类到lua,自己主动生成代码的方法. 曾经要导出c++类到lua.就得手动维护pkg文件,那简直就是噩梦.3.0以后就会感觉生活非常轻松了. 以下我就在说下详细做法. 1.安装必 ...

  3. Tc2.0编写俄罗斯方块游戏

    Tc2.0编写俄罗斯方块游戏 作者:陈畅 联系地址:上海财经大学图书馆 电子邮件:shufechenchang@263.net 个人主页:http://shchenchang.top263.net/ ...

  4. Ajax 1.0 中使用web控件调用后台方法的用法.

    今天在做页面文本框审核的时候发现个Ajax 1.0 中使用web控件调用后台方法的一个不爽的地方. 把该调用方法发上来供大家参考. 首先我们创建一个MasterPage.master文件. 在页面上放 ...

  5. .NET2.0中,Winform程序如何异步调用Web Service呢?[Demo下载]——与.net1.1环境下比较...

    最近在MSDN上看到一个在.NET1.1中Winform程序异步调用WebService的例子 我准备模仿着迁移到.NET2.0环境中,遗憾的是,一切不是那么简单. 首先,.net1.1中调用的Web ...

  6. [转]在.NET CF2.0中调用DirectShow来处理视音频数据

    [转]在.NET CF2.0中调用DirectShow来处理视音频数据 转自:http://www.winbile.net/bbs/forums/threads/1000586.aspx 于渊 200 ...

  7. Unity中SteamVR2.0 手柄交互调用方式

    再次接触到HTC Vive项目时发现交互已经跟几年前的写法不一样了,而且VRTK插件也需要找对应的版本才行,否则会报错,版本已经不兼容. 这里总结下我在项目中遇到的手柄交互在Unity中的调用: 1. ...

  8. 《珍藏TC2.0》: TCC.exe,TLink.exe,TLib.exe 命令行选项及其使用!

    在开始看本文以前,我先说明一下C语言的安装和使用中最应该注意的地方:  许多网友在下载Turbo C 2.0和Turbo C++ 3.0后,向我问得最多的是在使用过程中碰到如下问题:  1)出现找不到 ...

  9. TC2.0库函数清单

    TC2.0库函数清单 一 字符函数和字符串函数 ANSI C 标准要求在使用字符函数时包含ctype.h,使用字符串函数时包含头文件string.h. 1. 字符函数 (ctype.h) (1) is ...

最新文章

  1. Oracle三级联动单表地址数据
  2. spring计算方圆300km内其它城市(附完整代码)
  3. 数据结构课上笔记10
  4. M1芯片的Mac电脑如何进入到恢复模式?
  5. 从其他项目中复制过来的mapper加载不进bean_手把手带你玩转k8s-一键部署springboot项目...
  6. R2CNN 算法笔记
  7. 通用数据权限管理系统设计
  8. 在matlab上标点,matlab注释用什么符号
  9. 陌生人交友软件有哪些?陌生人社交APP排名|良心推荐
  10. 给大家贴一点好东东 喜欢电影的朋友请看
  11. #学习方法 linux的教程推荐
  12. Todesk一直显示正在连接本地连接
  13. 【高等数学】曲率和曲率半径
  14. C语言strcpy_s 和strncpy_s的用法,以及函数实现的方法
  15. 卡普雷卡与西西弗斯.C
  16. 论文阅读-基于遗传算法的NAS
  17. 第四套人民币荧光“四大天王”收藏价值分析
  18. Docker简介与安装
  19. 2022-2027年中国竹制家具行业市场调研及未来发展趋势预测报告
  20. 【报告分享】2021上半年移动广告流量观察白皮书-APP GrowingMob研究院七麦数据(附下载)

热门文章

  1. 第三章网络安全基础考试要点及真题分布
  2. 华为搭载鸿蒙系统的手表,华为手表Watch 3即将发布:搭载鸿蒙系统
  3. 一杯水怎么测试_每滴都是“芯”鲜好水,碧然德新款净水器实测
  4. 标题文字超出2行 则隐藏后面显示省略号
  5. STM32时钟学习之STM3210X_RCC.H解读
  6. 计算机网络 —— 总结(面试问题)
  7. css编写规则BEM
  8. 分配和释放 BSTR 的内存
  9. 借贷宝详细注册步骤:邀请朋友送20元,朋友再邀请朋友还送你10元【3天已赚6千】(附我的邀请记录和提现到账截图)...
  10. CSS 魔法系列:纯 CSS 绘制各种图形《系列五》