汇编实验3.docx
- 文档编号:4175890
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:8
- 大小:30.11KB
汇编实验3.docx
《汇编实验3.docx》由会员分享,可在线阅读,更多相关《汇编实验3.docx(8页珍藏版)》请在冰豆网上搜索。
汇编实验3
山东大学实验报告
2016年10月20日
姓名刘方铮,学号201411130001系年级计算机科学与技术系2014级
科目汇编语言题目用表格形式显示字符和査找匹配字符串
实验要求:
实验2.1用表格形式显示字符
1.用表格形式显示ASCII字符SMASCII
2.实验要求:
按15行X16列的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符,每16个字符为一行,每行中的相邻两个字符之间用空白符(ASCII为0)隔开。
实验2.2査找匹配字符串
1.题目:
査找匹配字符串SEARCH
2.实验要求:
程序接收用户键入的一个关键字以及一个句子。
如果句子中不包含关键宇则显示‘Nomatch!
如果句子中包含关键字则显示‘Match’,&把该字在句子中的位置用十六进制数显示出来。
要求程序的执行过程如下:
Enterkeywordj EnterSenLence: Wearestudyingabc. Matchl〇cali〇nsl]Hofthesentence, EtiLerSentence: jcyz,OK? ' Nomatch. EnterSentence: 实验源程序清单 ;ASCLL表显示 ;*********************************** programsegment ;********************************** mainprocfar assumecs: program ;---------------------- start: movah,02h movdl,10h;输出字符的ascll码 movbl,15;定义行列 let0: movcx,16 let1: int21h pushdx;回车换行 movah,02h movdl,0 int21h movah,02h movdl,0 int21h popdx incdl looplet1 pushdx;回车换行 movah,02h movdl,0dh int21h movah,02h movdl,0ah int21h popdx decbl cmpbl,0 jnelet0 jeexit exit: movah,01h int21h movax,4ch;输出 int21h mainendp ;------------------------------------- programends end ;査找匹配字符串search ;************************************************* DATAREASEGMENT STRING1DB"Enterkeyword: $";建立输出语句 STRING2DB"Entersentence: $" STRING3DB"Matchatlocation: $" STRING4DB"Nomatch! ",13,10,"$" STRING5DB"Hofthesentence.$" keywordDB50D,? 51DDUP(? ) sentenceDB50D,? 51DDUP(? ) DATAREAENDS ;********************* CODESEGMENT MAINPROCFAR ASSUMECS: CODE,DS: DATAREA,ES: DATAREA ;_------------------------------ START: PUSHDS SUBAX,AX PUSHAX MOVAX,DATAREA MOVDS,AX MOVES,AX LEADX,STRING1;显示STRING1 MOVAH,09H INT21H LEADX,keyword MOVAH,0AH INT21H MOVAH,02H MOVDL,0AH INT21H LEADX,STRING2;显示STRING1 MOVAH,09H INT21H LEADX,sentence MOVAH,0AH INT21H MOVAH,02H MOVDL,0AH INT21H LEASI,keyword+2;关键词 LEADI,sentence+2 MOVAX,0 MOVAL,[sentence+1];句子字符个数 MOVAH,[keyword+1];关键词字符个数 CMPAL,AH JLNO SUBAL,AH MOVAH,0 MOVCX,AX INCCX COMPARE: PUSHCX MOVCX,3;采用movax,字符个数,使字符的个数不固定 CLD REPZCMPSB JZMATCH MOVAX,3;采用movax,字符个数 SUBAX,CX SUBSI,AX;关键词回到词首 MOVAX,2;采用movax,字符个数-1 SUBAX,CX SUBDI,AX POPCX;将堆栈段中的一个字单元弹出 LOOPCOMPARE NO: LEADX,STRING4 MOVAH,09H INT21H JMPEXIT MATCH: POPCX MOVBX,DI LEADX,STRING3 MOVAH,09H INT21H SUBBX,OFFSETsentence+2 SUBBX,2;首地址所在字符串中的地址 CALLCHANGE LEADX,STRING5 MOVAH,09H INT21H EXIT: RET MAINENDP ;--------------------------------- CHANGEPROCNEAR;change子过程 PUSHAX PUSHBX PUSHCX PUSHDX MOVCH,4 MOVCL,4 ROTATE: ROLBX,CL;循环左移 MOVAL,BL ANDAL,0FH ADDAL,30H CMPAL,3AH JLPRINTIT ADDAL,7H PRINTIT: ;调用 MOVDL,AL MOVAH,2 INT21H DECCH JNZROTATE POPDX POPCX POPBX POPAX RET CHANGEENDP ;-------------------------- CODEENDS ;**************************** ENDSTART 编译及运行结果: (1)ascll程序的运行结果如下: search程序的调试结果如下: 问题及收获 这次实验最初始做的时候有些不知所措,如何去输出ascll码,看了相关提示后有些眉目,这个实验总体来说比较简单,但我从其间感受到了高级程序语言编程和汇编语言编程的区别 第二个实验难度明显提高了很多,学会了匹配查询与循环相结合的相关内容。 当然关键字的定义也是其中的重点,难点在于change子程序的附加部分,没有什么头绪,如何使用串比较指令。 从实验中提高,从实践中感悟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)