问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

TC和masm中的函数如何相互调用

发布网友 发布时间:2022-04-12 10:21

我来回答

2个回答

热心网友 时间:2022-04-12 11:51

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
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小篇幅造句 易车如何发布二手车 转让卖车信息流程 《易车》群聊消息关闭方法 易车消息夜间勿扰方法步骤 易车如何开启消息夜间勿扰 易车 开启@消息推送 ...当入射角是 时,反射角是 。我们能从各个方向看到本身不发光的物体... 发泄的近义词和反义词是什么_发泄是什么意思? 我的世界手游 我的世界手机版怎么做末地传送门? 我的世界手游 末地传送门怎么做? 安全评价师的报考科目有什么 一个人可以注册几个? 〔显微镜〕,能连接电脑,能在电脑屏幕上看到细胞的显微镜,叫什么名字? 同一个手机号能注册两个吗?怎么注册? 一个手机号码可以申请两个码吗? 一个手机号码能可以开通几个码? 漫画玫瑰花的画法 一笔画出一支玫瑰 深情的诗歌 “我”的意象“我的品格”“爱人”的意象 “爱人”的品格是什么 那位大侠帮忙翻译下巨资用法语,小弟不胜感激! 十大经典粤语歌曲? 如何快速打开男朋友的手机 8p怎么解开别人的手机 win10怎么把应用磁贴变透明 求教怎么设置照片磁贴 怎样把window10开始菜单换成磁贴模式 win10设置为应用磁铁没反应,图片磁铁 如何安装csclientmanagerprj.cab浏览器控件 冰糖贡梨银耳汤的做法,冰糖贡梨银耳汤怎么做 凤梨银耳汤的做法 一个电话号码能申请两个吗 一个手机号可以注册几个? 一个人有15个手机号,能不能申请15个? 同一人,移动联通电信共三个电话号码可以注册三个吗? 如何彻底解决centos 5.4系统重启后nameserver里的dns丢失? 微信,我一个手机两张卡可以注册两个吗? 一个手机号只可以申请一个吗?如何开通一个微信小号? 进行科学世界观和无神论教育的意义? 如何结合地球与空间科学知识点进行科学无神论教育? 我长期受的是无神论教育,我怎样才能信教啊 google play提示“需要进行身份验证。您需要登录自己的google账户”怎么解决? google验证手机点是 不充钱可以办手机卡吗 如何清理c盘空间win10版本更新的副本 辽事通的机构码怎么整 我握者铁的门把手经常被静电电了一下,有没什么办法可以预防静电? 手机屏幕进水后开机出现花纹怎么办 手机进水 晾干后屏幕出现花纹加闪烁 其他功能正常时屏幕坏了还是排线坏了 华为手机c8818屏幕上出现花纹 华为P20贴膜后为什么屏幕中间有花纹