资源描述:
《《汇编实验报告》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、专业资料.为你而备华北电力大学实验报告实验名称微机原理与汇编语言程序设计课程实验课程名称微机原理与汇编语言程序设计专业班级:学生姓名:学号:成绩:指导教师:实验日期:专业资料.为你而备实验一、用表格形式显示字符一、验目的及要求用表格形式显示ASCII字符SMASCII。按15行×16列的表格形式显示ASCII码为10H~100H的所有字符,即一行为主的顺序及ASCII码递增的次序显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白字符(ASCII为0)隔开。二、所用仪器、设备PC机、Masmforwindows集成实验环境三、
2、实验源代码STACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;此处输入代码段代码movcx,0f0hmovbl,10hmovdl,10hagain:movah,2int21hpushdxmovdl,0movah,2int21hpopdxincdldecblcmpbl,0jnznextmovbl,10hpushdxmovdl,0dhmovah,2int21hmovdl,0ahmovah,2
3、专业资料.为你而备int21hpopdx四、实验结果截图实验二、查找匹配字符串一、实验目的及要求查找匹配字符串SEARCH,要求程序接收用户键入一个关键字以及一个句子,如果句子中不包含关键字,则显示“Nomatch!”;如果句子中包含关键字则显示“Match”,且吧该关键字在句子中的位置用十六进制数显示出来。二、所用仪器、设备PC机、Masmforwindows集成实验环境三、实验流程图专业资料.为你而备NYYY输入关键字结束关键字长度=0输入句子句子长度<关键字长度Y保存关键字长度到cx,cx入栈,保存总循环次数(句子长度-关键字长度+1
4、)到al,将句子的首地址放进bx(作为基址寄存器)si=di=0(变址寄存器)开始比较[bx+di]与[si]是否相等si+1,di+1,cx-1(同时指向下一个字符)YNbx+1(句子指向下一个字符)cx出栈,再入栈,si,di清零,al-1cx是否为0N匹配完成,调用子程序输出al是否为0不匹配,输出四、实验代码START:pushdssubAX,AX专业资料.为你而备subBX,BXsubDI,DIsubSI,SIpushAX;为返回dos并清空后面要用到的寄存器MOVAX,DATAMOVDS,AXLEADX,mess1MOVah,0
5、9INT21h;输出EnterkeywordLEADX,stoknin1MOVah,0ah;用21号中段的0ah号功能获取关键字INT21hcmpact1,0jeexit;如果为空直接退出程序a10:;输入Sentence并判断LEADX,changeMOVah,09INT21h;输出回程,换行LEADX,mess2MOVah,09INT21h;输出EnterSentence:LEADX,stoknin2MOVah,0ahINT21h;用21号中段的0ah号功能获取句子MOVAL,act1CBWMOVCX,AX;保存关键字长度到cxPUSH
6、CX;cx入栈MOVAL,act2cmpAL,0jea50;保存句子长度到al,若句子为空则跳转显示notmatchSUBAL,act1jsa50;若句子长度小于关键字长度,则跳转显示notmatchINCALCBWLEABX,stokn2;将句子的首地址放进BXMOVDI,0MOVSI,0a20:;比较,内循环MOVAH,[BX+DI]CMPAH,stokn1[SI];遇见字符不相等就跳转到a30jnea30INCDIINCSI专业资料.为你而备DECCX;没遇到一个相等的字符,cx-1,cx不为0则比较下一个字符,当cx为0是说明关键字
7、比较完CMPCX,0jea40jmpa20a30:;外循环,BX+1,清空si,di继续内循环比较INCBXDECALcmpAL,0jea50MOVDI,0MOVSI,0POPCXpushCXjmpa20a40:;match,将bx减去句子的首地址加一得到关键字所在位置,调用二进制转十六进制子函数将位置输出SUBBX,offsetstokn2INCBXLEADX,changeMOVah,09INT21hLEADX,mess3MOVah,09INT21hCALLbtohLEADX,mess5MOVah,09INT21hjmpa10;二进制转换
8、十六进制btohPROCNEARMOVCH,4rotate:MOVCL,4ROLBX,CLMOVAL,BLandAL,0fhaddAL,30hcmpal,3ahjlprintit