C语言和汇编语言的互调

C语言和汇编语言的互调

ID:37912022

大小:100.50 KB

页数:9页

时间:2019-06-02

C语言和汇编语言的互调_第1页
C语言和汇编语言的互调_第2页
C语言和汇编语言的互调_第3页
C语言和汇编语言的互调_第4页
C语言和汇编语言的互调_第5页
资源描述:

《C语言和汇编语言的互调》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告课程名称:C语言和汇编语言的互调姓名学号组员实验名称C语言和汇编语言的互调实验内容:(实验原理、实验步骤、数据处理、误差分析、程序算法、系统结构等)一.实验原理C语言参数传递原则1、函数的返回值通过AX寄存器;2、参数通过堆栈传递:参数传递的顺序是最后一个参数先入栈,第一个参数最后入栈;3、在子程序中不对因传递参数而改变的SP进行校正,而在主程序中进行校正。二.实验步骤1、下载TC.RAR到D盘,解压到D:TC目录中;2、把MASM.EXE拷贝到D:TC中;3、在D:TC目录中建立两个文件DtoA.c和T3.asm,分别存放本题的C语言程序和汇编语言程

2、序;4、执行如下命令,编译T3.asm,形成目标文件T3.objmsamT3.asm5、执行如下命令,编译DtoA.c形成DtoA.obj文件,并把DtoA.obj和T3.obj链接,形成可执行文件DtoA.exetccDtoA.cT3.obj6、执行T3.exe。三.流程图四.程序C语言程序#includeexternintCHANGE(int,char*);main(){inta[5]={276,13965,1024,4,32},i,j;charbuffer[32],*p,*position;intcount[]={0,0,0,0,0};pos

3、ition=buffer;for(i=0;i<=4;i++){count[i]=CHANGE(a[i],position);p=position;for(j=0;j<5-count[i];j++){*p='';p++;}position+=5;*position=',';position++;}*position=0;printf("Number=%s",buffer);for(i=0;i<5;i++){printf("%d,",count[i]);}printf("");}汇编语言程序_TEXTsegmentBYTEPUBLIC'CODE'assumeCS

4、:_TEXTpublic_change_changeprocnear;intchange(intvalue,char*buffer)pushbpmovbp,spsubsp,4;定义局部变量的空间[bp-2],[bp-4]pushbxpushcxpushdxpushsipushdimovwordptr[bp-2],0;一个局部变量。赋值0,转换的ASCII码数量movax,[bp+4];value的值movbx,[bp+6];buffer的值movdi,4movcx,10subloop1:xordx,dxdivcx;DXAX/CX,商在AX中,余数在DX中adddl,

5、30hmovbyteptr[bx+di],dlincbyteptr[bp-2];已转换的字符数decdi;下一个字符保存的位置orax,axjnzsubloop1movax,[bp-2];放回结果popdipopsipopdxpopcxpopbxaddsp,4popbpret_changeendp_TEXTendsend五.运行1.编译t3.asmMicrosoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.Objectfilename[t

6、3.OBJ]:(形成目标文件T3.obj)Sourcelisting[NUL.LST]:Cross-reference[NUL.CRF]:50160+415408Bytessymbolspacefree0WarningErrors0SevereErrors(编译显示0错误)2.编译dtoa.cD:tc>TlinkT3.objTurboLinkVersion2.0Copyright(c)1987,1988BorlandInternationalWarning:nostackD:tc>debugT3.exe-tAX=0000BX=0000CX=003ADX=0000

7、SP=FFFEBP=0000SI=0000DI=0000DS=142BES=142BSS=143BCS=143BIP=0001NVUPEIPLNZNAPONC143B:00018BECMOVBP,SP-tAX=0000BX=0000CX=003ADX=0000SP=FFFEBP=FFFESI=0000DI=0000DS=142BES=142BSS=143BCS=143BIP=0003NVUPEIPLNZNAPONC143B:000383EC04SUBSP,+04-tAX=0000BX=0000CX=003ADX=0000SP=FFFABP=FFFESI=0000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。