![汇编语言实验报告源代码_第1页](http://file4.renrendoc.com/view14/M05/0E/08/wKhkGWeiyj2AJw7UAAG_fva6a7I842.jpg)
![汇编语言实验报告源代码_第2页](http://file4.renrendoc.com/view14/M05/0E/08/wKhkGWeiyj2AJw7UAAG_fva6a7I8422.jpg)
![汇编语言实验报告源代码_第3页](http://file4.renrendoc.com/view14/M05/0E/08/wKhkGWeiyj2AJw7UAAG_fva6a7I8423.jpg)
![汇编语言实验报告源代码_第4页](http://file4.renrendoc.com/view14/M05/0E/08/wKhkGWeiyj2AJw7UAAG_fva6a7I8424.jpg)
![汇编语言实验报告源代码_第5页](http://file4.renrendoc.com/view14/M05/0E/08/wKhkGWeiyj2AJw7UAAG_fva6a7I8425.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分支程序设计-字母字符转换-源码:.386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORDINCLUDEio.h;headerfileforinput/outputcrEQU0dh;carriagereturncharacterLfEQU0ah;linefeed.STACK4096;reserve4096-bytestack.DATApromotBYTE"Enteracharofletter",cr,Lf,0warningBYTE"Thecharisn'taletter,enteragain",0answerLtoUBYTE"Thecharisalowercase,it'suppercaseis"BYTEcr,Lf,0answerUtoLBYTE"Thecharisauppercase,it'slowercaseis"BYTEcr,Lf,0charBYTE1DUP(?).CODE_start:outputpromot ;输出提示语句inputchar,1 ;输入数据doGo:movbl,charinputchar,1cmpchar,0dh ;与0dh比较jedoWhCMP ;若相等,跳转到doWhCMPjmpdoGo ;重新输入数据doWhCMP:cmpbl,41h ;与41h(A)比较jlinputAgain ;若char<A,提示重新输入cmpbl,5AhjleendUppertoL ;若char<=Z,跳转到大写字母转换为小写字母部分cmpLower:cmpbl,61h ;与61h(a)比较jlinputAgain ;若char<a,跳转到重新输入cmpbl,7Ah ;与7Ah(z)比较jginputAgain ;若char>z,跳转到重新输入jmpendLowertoU ;跳转到小写字母转换为大写字母部分inputAgain:outputwarning ;输出错误信息提示语句inputchar,1 ;输入数据movbl,charjmpdoGo ;跳转到比较部分endUppertoL:moval,bladdal,32 ;ASCII码加32movchar,aloutputanswerUtoL ;输出结果提示语句outputchar ;输出结果jmpendMain ;跳转到结束部分endLowertoU:moval,blsubal,32 ;ASCII码减32movchar,aloutputanswerLtoU ;输出结果提示语句outputchar ;输出结果endMain:INVOKEExitProcess,0;exitwithreturncode0PUBLIC_start;makeentrypointpublicEND;endofsourcecode
循环程序设计-显示九九乘法表-源码:.386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORDINCLUDEio.hcrEQU0dhLfEQU0ah.STACK4096.DATAcomeBYTE"Welcometomultiplicationtable!",cr,Lf,0sumBYTE6DUP(?),0firstBYTE6DUP(?),0secondBYTE6DUP(?),0rowWORD?lieWORD?prompt1BYTE"*",0prompt2BYTE"=",0prompt3BYTEcr,Lf,0prompt4BYTE"",0.CODE_start:outputcome ;输出欢迎语句outputprompt3 ;换行movrow,1 ;将行数初始值赋值为1movlie,1 ;将列数初始值赋值为1fo:cmprow,9 ;行数与9相比较jgquit ;若行数等于9则退出循环movbx,row ;bx寄存器中存储行数itoafirst,bx ;将bx的值转换为ASCII码值存储到first中outputfirst+5 ;输出行数outputprompt1 ;输出乘号movcx,lie ;cx寄存器中存储列数itoasecond,cx ;将cx的值转换为ASCII码值存储到second中outputsecond+5 ;输出列数outputprompt2 ;输出等号movax,cx ;将cx寄存器中的列数移到ax寄存器为乘法做准备imulbx ;做乘法bx*ax即行数*列数itoasum,ax ;将结果转换为ASCII码值存储到sum中outputsum+4 ;输出乘积运算结果outputprompt4 ;输出空格cmpbx,cx ;行数与列数值进行比较jeto ;若相等则跳转到换行输出部分inclie ;列数自增jmpfo ;继续循环to:outputprompt3 ;输出换行incrow ;行数自增movlie,1 ;列数初始化为1jmpfo ;进入循环quit:INVOKEExitProcess,0;exitwithreturncode0PUBLIC_start;makeentrypointpublicEND;endofsourcecode
子程序设计-求给定整数的所有素因子-源码:.386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORDINCLUDEio.h;headerfileforinput/outputcrEQU0dh;carriagereturncharacterLfEQU0ah;linefeed.STACK4096;reserve4096-bytestack.DATA;reservestoragefordataflaiDWORD?tempDWORD?crlfBYTE"*",0eqllBYTE"=",0promptBYTE"Enteranumbertofindalltheprimefactors",cr,Lf,0flDWORD?valueBYTE11DUP(?),0charBYTE1DUP(?)PUBLIC_start.CODE;startofmainprogramcode_start:outputprompt ;输出提示语句inputvalue,11 ;输入数据atodvalue ;ASCII码转换为数字pusheax ;eax寄存器的值压入堆栈callbyteInput ;调用byteInput子程序addesp,4outputeqll ;输出等号pusheax ;eax寄存器的值压入堆栈callfindPfactor ;调用findPfactor子程序addesp,4INVOKEExitProcess,0;exitwithreturncode0findPfactorPROCNEAR32 ;寻找素因子子程序pushebp ;ebp内的值压入堆栈movebp,espmoveax,[ebp+8]movflai,eaxmovecx,2movebx,ecxdoFind:movecx,ebxcmpecx,flai ;while循环的条件比较jeendFind ;如果ecx的值与flai相等则退出循环doFactor:movtemp,eaxcdq ;为除法做准备idivecx ;除法eax=eax/ecxcmpedx,0 ;eax符号位与0进行比较jneendFactor ;若不相等跳转到endFactor部分pushecx ;ecx值压入堆栈outputcrlf ;输出换行callbyteInput ;调用byteInput子程序addesp,4jmpdoFactorendFactor:moveax,tempincebx ;ebx值自增jmpdoFind ;跳转到doFind部分endFind:popebp ;ebp弹出堆栈ret ;返回指令findPfactorENDP ;findPfactor子程序结束byteInputPROCNEAR32 ;byteInput子程序pushebp ;ebp压入堆栈movebp,esppushebx ;ebx压入堆栈pusheax ;eax压入堆栈pushedx ;edx压入堆栈movfl,0movebx,10moveax,[ebp+8]doWh:cdq ;为除法做准备idivebx ;除法eax=eax/ebxpushedx ;edx压入堆栈incfl ;fl值自增cmpeax,0 ;eax与0比较jeenddoWh ;若相等则退出循环jmpdoWhenddoWh:doPrint:cmpfl,0 ;fl值与0作比较jeenddoPrint ;若相等则退出输出循环decfl ;fl值自减popedx ;edx弹出堆栈movchar,dladdchar,'0'outputchar ;输出charjmpdoPrint ;继续循环enddoPrint:popedx ;edx弹出堆栈popeax ;eax弹出堆栈popebx ;ebx弹出堆栈popebp ;ebp弹出堆栈ret ;返回指令byteInputENDP ;byteInput子程序结束END;endofsourcecode
位运算指令的使用-双字型数的高低字转换-源码:.386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORDINCLUDEio.h;headerfileforinput/outputcrEQU0dh;carriagereturncharacterLfEQU0ah;linefeed.STACK4096;reserve4096-bytestack.DATA;reservestoragefordatapromptBYTE"Inputanumber:",0numberBYTE20dup(?)resultBYTEcr,Lf,"The2'scomplementrepresentationis:"hexoutBYTE8DUP(?),cr,Lf,0prompt2BYTEcr,lf,"Aftertheshift",0.CODE ;startofmainprogramcodeHexPROCNEAR32pusheaxleaebx,hexout+7 ;取最后一个字符的地址mov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库建设实施方案的经济效益分析
- 人工智能对金融行业的深远影响与展望
- 2025至2030年中国机械式暖风机数据监测研究报告
- 2025至2030年中国方波铃流信号发生器模块数据监测研究报告
- 2025至2030年中国布面鼠标垫数据监测研究报告
- 2025至2030年中国塔吊用回转减速器数据监测研究报告
- 2025年中国芦荟提取物复合营养胶囊市场调查研究报告
- 乐器批发与互联网的结合考核试卷
- 固体废物处理与城乡垃圾收运体系考核试卷
- 2025-2030年户外按摩浴缸行业深度调研及发展战略咨询报告
- 2025年电力铁塔市场分析现状
- 2025-2030年中国清真食品行业运行状况及投资发展前景预测报告
- 广东省茂名市电白区2024-2025学年七年级上学期期末质量监测生物学试卷(含答案)
- 《教育强国建设规划纲要(2024-2035年)》全文
- 山东省滨州市2024-2025学年高二上学期期末地理试题( 含答案)
- 化学-江苏省苏州市2024-2025学年2025届高三第一学期学业期末质量阳光指标调研卷试题和答案
- 2025年河南洛阳市孟津区引进研究生学历人才50人历年高频重点提升(共500题)附带答案详解
- 2025年度军人军事秘密保护保密协议与信息安全风险评估合同3篇
- 蛋鸡生产饲养养殖培训课件
- 数字化转型中的职业能力重构
- 运用PDCA降低住院患者跌倒-坠床发生率
评论
0/150
提交评论