汇编实验报告.doc
文本预览下载声明
南华大学
计算机科学与技术学院
实 验 报 告
( 2014 ~2015 学年度 第 2 学期 )
课程名称 汇编语言程序设计
实验名称
姓名 郭维呈 学号 20134360106
专业 网络工程 班级 01
地点 八教 教师 罗江琴
实验一顺序程序
1.实验目的及要求
掌握顺序程序的设计方法;
上机前做好准备,画好程序流程图,写好源程序清单
不用串操作指令,把字符串string1的内容传送到string2,字符长度为count
2.实验步骤
既然题目要求不能使用串操作指令,而要进行串内容的传送,则可以使用循环,一次传送一个字节的内容,直到count个字符全部传送完毕。
3.实验内容
流程图:
开始
n=1
取STRING1的第n个字节内容 令n
加1
将该字节赋值给STRING2的第n个字节
N
该字节是STRING1的末字节?
Y
结束
实验源代码:
DATAS SEGMENT
string1 db hello,13,10;此处输入数据段代码
string2 db ?
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov cx,12
lea si,string1
lea di,string2
aa:
mov dl,[si]
mov [di],dl
mov ah,2
int 21h
inc si
inc di
loop aa
;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START
5. 实验总结分析
在不使用串操作指令的情况下,我们也是可以完成对串的各种操作的。也就是说,串操作指令的功能,其实完全是可以用普通语句加上选择、循环等控制结构来完成的。通过实践练习汇编程序编写,使我对汇编语言作为计算机语言的低级语言有了新的认识
Y
Y
Y
Y
Y
N
实验源代码:
DATAS SEGMENT
;统计学生成绩result。设有10个学生的成绩(自己设置数据),
;试编制程序分别统计低于60分、60-69、70-79、80-89、90-100分的人数,将结果显示出来。
;此处输入数据段代码
grade dw ,56,67,70,84,88,97,90,100
ss5 db60:,$
ss6 db 13,10,60-69:$
ss7 db 13,10,70-79:$
ss8 db 13,10,80-89:$
ss9 db 13,10,90-99:$
ss10 db 13,10,100:$
s5 dw 0
s6 dw 0
s7 dw 0
s8 dw 0
s9 dw 0
s10 dw 0
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
;main proc far
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
push dx
sub ax,ax
push ax
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov s5,0
mov s6,0
mov s7,0
mov s8,0
mov s9,0
mov s10,0
mov cx,10
mov bx,offset grade
compare:
mov ax,[bx]
cmp ax,60
jl five
cmp ax,70
jl six
cmp ax,80
jl seven
cmp ax,90
jl eight
显示全部