资源描述:
《汇编实验报告4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四子程序设计一、实验目的1.掌握子程序设计与调用方法。2.掌握子程序参数的传递方法。3.进一步熟悉debug的使用。二、实验内容编程并调试:在内存中两个变量buf1、buf2保存两个整数,相加后存入re中,再将结果(re中)按16进制显示。要求:两数相加用子程序实现,参数使用地址表形式;输出用子程序实现,参数用堆栈传递。流程图:编写程序汇编后如图:链接后如图:Debug后如图:源代码:datasegmentbufdw23,45redw?tabledw2dup(?)dataends;*****************
2、***************stack_segsegmentstackdw50dup(?)toslabelwordstack_segends;********************************prognamsegment;--------------------------------mainprocfarassumeds:data,cs:prognam,ss:stack_segstart:movax,stack_segmovss,axmovsp,offsettospushdssubax,axpusha
3、xmovax,datamovds,axmovtable,offsetbufmovtable+2,offsetremovbx,offsettablecallnearptrproaddmovbx,offsetrepushbxcallfarptrto_hexretmainendp;----------------------------------proaddprocnearpushaxpushsipushdimovsi,[bx]movdi,[bx+2]subax,axaddax,[si]addax,[si+2]mov[di
4、],axpopdipopsipopaxretproaddendp;----------------------------------prognamends;**********************************codesegmentassumecs:code;----------------------------------to_hexprocfarpushbpmovbp,sppushbxpushaxpushcxpushsimovch,4;循环4次subbx,bxmovsi,[bp+6]addbx,[
5、si]rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30hcmpal,3ah;isit>9?jlprintitaddal,7hprintit:movdl,almovah,2int21hdecchjnzrotatepopsipopcxpopaxpopbxpopbpret2to_hexendp;-----------------------------------codeends;***********************************endstart