汇编语言实现字符串逆序输出.doc

汇编语言实现字符串逆序输出.doc

ID:54701466

大小:102.89 KB

页数:3页

时间:2020-04-20

汇编语言实现字符串逆序输出.doc_第1页
汇编语言实现字符串逆序输出.doc_第2页
汇编语言实现字符串逆序输出.doc_第3页
资源描述:

《汇编语言实现字符串逆序输出.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北京邮电大学微机原理与接口技术实验报告学院:电子工程学院班级:2012211203学号:2012210876姓名:邱启哲字符串的逆序存储实验一、题目要求实现将STRING1起始存取单元中的字符串’ABCDEFGHIJKLM’逆序存放到STRING2的存储单元中,并在屏幕上显示结果。二、设计思路在数据段定义时,将字符串’ABCDEFGHIJKLM’存入STRING1中,并定义一个空字符串数组STRING2用于存放字符。将指针[STRING1+BP]指向字符串数组STRING1的最后一个字符,指针[STRING2+

2、BX]指向STRING2的起始字符对其进行赋值,每次赋值后STRING1的指针减一,STRING2的指针加一,循环赋值13次。赋值完成后用系统调用实现STRING2中内容的循环输出。三、程序代码DATASEGMENTSTRING1DB'ABCDEFGHIJKLM'STRING2DB13DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,13MOVBX,0MOVBP,12LOOP1:             ;此循

3、环用于实现对STRING2的赋值功能MOVAL,[STRING1+BP];通过AL实现STRING1对STIRNG2的赋值MOV[STRING2+BX],ALINCBXDECBPLOOPLOOP1MOVCX,13;将CX值复员以便进入下一个循环MOVBX,OFFSETSTRING2  ;使BX指向STRING2的起始字符LOOP2:MOVAH,2;调用2号系统调用,输出STRING2MOVDL,[BX];用STRING2中的字符为DL赋值INT21HINCBX;BX加一,向后移一位LOOPLOOP2MOVAH,

4、4CH;程序结束INT21HCODEENDSENDSTART一、程序运行截图1、汇编和连接过程2、生成相应程序文件3、程序运行结果由结果可见,实现了字符串的逆序存储。二、实验总结这次上机实验的题目不难,但是在完成的过程中遇到了一些问题。开始编译的时候迟迟过不了,后来发现是因为不能通过CX等通用寄存器引用内存,只能通过BX,BP的基址寻址和SI,DI的变址寻址来访问内存。后来发现每次都是送入STRING2中一个正序的字符串,这个问题困扰了我很久,因为我是使用[STRING1+12-BX]来实现对STRING1的逆

5、向逐个字符访问,后来发现这样做不能实现预期功能,在[]不能用减号和加数字,只能对寄存器进行操作。解决了这两个问题,程序终于通过并实现了逆序存储,这个过程我学到很多,巩固了汇编程序的编写和编译调试过程,熟悉了内存寻址的操作。

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

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

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