汇编实验10
更新时间:2024-03-22 21:00:01 阅读量: 综合文库 文档下载
暨南大学本科实验报告专用纸
课程名称 汇编语言程序设计 成绩评定 实验项目名称 字符串程序设计 指导教师
一、实验目的和要求
实验目的
1)掌握串操作指令的使用方法。 2)掌握串处理程序的设计方法。
3)熟练使用各种程序结构。 实验内容
1)编写程序把从键盘输入的以回车为结束符的字符串中的空格去掉并按相反的顺序输出。
2)编写程序在字符串STRING1中指定位置插入字符串STRING2。 3)编写程序在字符串STRING1中指定位置删除子串。
4)输入一个字符串(以回车符作为结束),将其排序后输出到屏幕上。
暨南大学本科实验报告专用纸(附页)
二、程序流程图(每题分开写)
开始输入buffer,初始化si和cx[si]=回车?是否Si=空格?否Inc siInc cx是Si=offset buffer+2Si=si+cxInc cxDi=si输出[si]si自减否Inc di[d-1]=di否Cx=cx-1Cx=0?是[di]=回车?是结束
暨南大学本科实验报告专用纸(附页)
开始String1,string2,输入。string6Cl=bl=插入点位置Si=offset string1+2Di=offset string6[Di]=[si]Inc diInc siCx=cx-1否Cx=0?是Si=offset string+2[di]=[si]Inc diInc si[si]为回车符?否是输出string1结束
暨南大学本科实验报告专用纸(附页)
开始输入STRING1输入删除点a和删除长度bSi=offset string1+2Si=si+aCx=string1长度Di=siDi=di+b[si]=[di]Si=si+1Cx=0?Cx=cx-1否输出string1是结束
暨南大学本科实验报告专用纸(附页)
开始Si=offset string +2Cx=string的长度-1Dx=cxBx=siAl=[bx]Al 与【bx+1]交换【bx]=al否Al<=[bx+1]是Bx=bx+1Dx=dx-1Al!=[bx+1]?是否Cx=cx-1否Cx=0?是输出string
暨南大学本科实验报告专用纸(附页)
三、源程序(每题分开写)
DSEG SEGMENT 'DATA' buffer db 50 db 0
db 50 dup('$')
STRING db 'Please enter the string.',0dh,0ah,'$' DSEG ENDS
SSEG SEGMENT STACK db 256 DUP(0) SSEG ENDS
CSEG SEGMENT 'CODE' START PROC FAR ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX
mov ah,09h
mov dx,offset STRING int 21h mov ah,0ah
mov dx,offset buffer int 21h
mov si,offset buffer+2 mov cx,0 outlp:
cmp byte ptr [si],0dh jz done
cmp byte ptr [si],' ' jnz next mov di,si inlp:
inc di
mov al,[di] mov [di-1],al
cmp byte ptr [di],0dh jnz inlp jmp outlp next:
'STACK' 暨南大学本科实验报告专用纸(附页)
inc si inc cx jmp outlp done:
mov si,offset buffer+2 add si,cx inc cx
mov dl,0dh mov ah,02h int 21h mov ah,02h mov dl,0ah int 21h lop:
mov dx,[si] mov ah,02h int 21h dec si loop lop
MOV AX, 4C00h ; exit to operating system. INT 21h START ENDP CSEG ENDS
END START ; set entry point.
2.
DSEG SEGMENT 'DATA' STRING1 db 50 db 0
db 50 dup('$') db '$' STRING2 db 50 db 0
db 50 dup('$') db '$'
STRING3 db 'Please enter the STRING1.' db 0dh,0ah,'$'
STRING4 db 0dh,0ah,'Please enter the STRING2.' db 0dh,0ah,'$'
STRING5 db 0dh,0ah,'Please enter the location in the STRING1 you want.'
暨南大学本科实验报告专用纸(附页)
db 0dh,0ah,'$' STRING6 db 50 dup('$')
DSEG ENDS
SSEG SEGMENT STACK 'STACK' db 256 DUP(0) SSEG ENDS
CSEG SEGMENT 'CODE' START PROC FAR ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX
mov dx,offset STRING3 mov ah,09h int 21h
mov ah,0ah
mov dx,offset STRING1 int 21h
mov dx,offset STRING4 mov ah,09h int 21h
mov ah,0ah
mov dx,offset STRING2 int 21h
mov dx,offset STRING5 mov ah,09h int 21h
mov ah,01h int 21h
sub al,30h mov cx,0 mov cl,al mov bl,al
暨南大学本科实验报告专用纸(附页)
mov si,offset STRING1+2 mov di,offset STRING6 first:
mov dl,byte ptr [si] mov byte ptr [di],dl inc si inc di loop first
mov si,offset STRING2+2 second:
cmp byte ptr [si],0dh jz third next2:
mov dl,byte ptr [si] mov byte ptr [di],dl inc si inc di jnz second third:
mov si,offset STRING1+2 mov bh,0 add si,bx third1:
cmp byte ptr [si],'$' jz forth next3:
mov dx,[si] mov [di],dx inc si inc di jnz third1 forth:
mov si,offset STRING1 mov di,offset STRING6 forth1:
cmp byte ptr [di],'$' jz over next4:
mov dl,byte ptr [di] mov byte ptr [si],dl inc si inc di jnz forth1 over:
暨南大学本科实验报告专用纸(附页)
mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h
mov dx,offset STRING1 mov ah,09h int 21h
MOV AX, 4C00h ; exit to operating system. INT 21h START ENDP CSEG ENDS
END START ; set entry point.
3.
DSEG SEGMENT 'DATA' STRING1 db 50 db 0
db 50 dup('$')
STRING2 db 'Please enter the STRING1.',0dh,0ah,'$'
STRING3 db 0dh,0ah,'Please enter the starting position.',0dh,0ah,'$'
STRING4 db 0dh,0ah,'Please enter the length you want to delete.',0dh,0ah,'$' a dw 0 b dw 0
DSEG ENDS
SSEG SEGMENT STACK 'STACK' db 256 DUP(0) SSEG ENDS
CSEG SEGMENT 'CODE' START PROC FAR ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX
mov dx,offset STRING2
正在阅读:
汇编实验1003-22
四氮唑07-03
焊工工艺学课程标准12-26
江苏省徐州巿2018年中考数学试题真题含答案Word版03-08
安全教育工作目标管理责任书04-13
浅析背景材料在新闻写作中的运用05-12
浙江省建设工程施工取费定额(2003版)完整版 - secret - 图文09-12
电动缝纫教材04-27
中国的减灾行动白皮书04-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇编
- 实验
- Kids Box 2教案 Our World(1-4) Book 2
- 2018《经济法基础》预习考点(二十一)
- 国军标产品开发计划模板
- 2018小学一年级数学上册期末试卷集 - 图文
- 7A Chapter 3 基础知识训练(2)
- 公路工程竣工监理工作总结
- 2014处置突发事件预案(新)
- ISO IEC 27004-2009信息安全测量中文版 - 图文
- 东财 资产评估作业答案新
- 最新 导游证考试到底有多难-精品
- 电工试卷A
- 电子科技大学2015移动通信课程设计题目
- 哑铃型制样机市场前景预测及投资规划分析报告(目录)
- 川农汇编语言题库及部分答案
- 客服培训心得体会
- 二年级经典奥数(自己整理的)
- 2018年10月预备党员思想汇报:在生活中实践自身的价值
- ERP,软件系统还是管理思想?
- 2018年四川省宜宾市中考数学试卷(含答案)
- 发展和改革局投资科岗位实习报告