- 6
- 0
- 约3.97万字
- 约 105页
- 2017-11-12 发布于广东
- 举报
(3)根据流程图编写汇编程序: STACK SEGMENT PARA STACK DW 100 duP(?) STACK ENDS DATA SEGMENT ‘CODE’ BUFF DB‘How ’, ODH,OAH DB‘are ’, ODH,OAH DB‘you ’, ODH,OAH DB 0DH,OAH DB‘$’ LEN DB $ ;字符串的总长度 DATA ENDS CODE SEGMENT PARA ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK ?START: MOV AX,DATA MOV DS,AX MOV ES,AX ? MOV DX,OFFSET BUFF ;输出3个字符串 MOV AH,9 INT 21h ? MOV DI,OFFSET BUFF ;将第一个字符串的首地址送DI lP1: MOV BX,LEN ;将字符串的总长度送BX SUB BX,2 CMP DI,BX ;到文件尾吗? JZ DEl_END ;到文件尾则转到DEl_END标号,结束查找 ? CMP WORD PTR[DI],0A0DH ;没到文件尾则继续查找回车、换行。 JNZ CONTINUE ;不是回车换行转到CONTINUE标号,继续查找 ;是回车换行,删除回车换行,向前移动字符串 PUSH DI ;保存当前DI的地址到堆栈中 MOV SI,DI ;将当前DI的地址送SI中 INC SI ;使SI指向0A0DH后的字符 INC SI MOV CX,LEN ;字符串的总长度送CX SUB CX,DI ;计算要移动的字符串的个数送CX ? ClD REP MOVSB ;循环上移 SUB LEN,2 ;总长度减2 POP DI ;弹出原DI的地址 ?CONTINUE: INC DI ;指向下一个字符 JMP lP1 ;继续查找 ?DEl_END: MOV AH,9 ;输出连接后的字符串 MOV DX,OFFSET BUFF INT 21H ?EXIT: MOV AX,4C00H ;返回DOS INT 21h CODE ENDS END START 程序执行结果: (4)程序1) 在数据段定义后程序执行前3个字符串在内存中的存放如图5—30的 A所示,3个字符串是连续存放的,只是每个字符串后有回车换行符(0DH,0AH),而在合并后如图B所示是将第一个和第二个字符串的回车换行符删掉,形成了一个字符串。在程序中利用了中断21H中的9号功能完成了显示操作。2) 在程序中每当找到0DH,0AH,就要将后面的字符向前移动2个字节,移动多少个字节是用总字节长度CX减当前的偏移地址DI而得到的,向前移动2个字节后,字符串的总字节个数减2。 5.3.4 多重循环的应用举例 【例5-21】在数据段的BUF中有N个十六进制数,将其转换成十进制数
您可能关注的文档
- 3dsmax三维动画制作实例教程课件作者许朝侠电子课件第四章节.ppt
- 3DSMAX实用教程课件作者苗家鸿第7章节电子教案.ppt
- 3DSMAX实用教程课件作者苗家鸿第8章节电子教案.ppt
- 3DSMAX实用教程课件作者苗家鸿第9章节电子教案.ppt
- 3DSMAX实用教程课件作者苗家鸿第11章节电子教案.ppt
- 3dsMax室内设计基础与实例教程课件作者董青第7章节.ppt
- 3dsMax室内设计基础与实例教程课件作者董青第8章节.ppt
- 3dsMax室内设计基础与实例教程课件作者董青电子教案第2章节.ppt
- 3dsMax室内设计基础与实例教程课件作者董青电子教案第7章节.ppt
- 3dsMax室内设计基础与实例教程课件作者董青电子教案第8章节.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)