我从前最怕旁人火眼金睛,如今,倒是盼着有人能够洞幽烛远。如此,就能赠我一点欢喜。
一、实验目的
- 会利用条件转移指令循环和控制结构解决问题
- 会使用数据的直接定址表解决问题
二、实验内容过程记录
任务1-字符串比较
如下所示的数据区中给出两个字符串,请比较它们的大小,并将结果记录在result处:相等(E)、前大后小(A)、前小后大(B)
data segment
str1 db 'Yan Tai',0
str2 db 'Yan Cheng',0
result db 0
data ends
请在程序中加入足量的注释
报告内容:带注释的源程序及运行结果如下
流程图:
源程序:
运行结果:
任务2-最小字符
在数据区中给出10位评委为歌手的打分,最高分为10分,最低分为0分。
歌手的最终成绩为去掉一个最高分和一个最低分后的平均值(整数部分),请计算并将成绩记录在result处。
data segment
singer db 8, 8, 8, 6, 10, 6, 6, 7, 7, 6
result db 0
data ends
请在程序中加入足量的注释
报告内容:带注释的源程序及运行结果如下
流程图:
源程序:
运行结果:
任务3-输出学生姓名
给出下的程序段,其中数据区存放了若干学生的姓名,请输入学生序号,在屏幕最上面一行输出对应学生的姓名。
assume cs:code, ds:data
data segment
stu dw stu1,stu2,stu3,stu4,stu5
stu1 db 'Zhang San',0
stu2 db 'Li Si',0
stu3 db 'Wang Wu',0
stu4 db 'Zhao Liu',0
stu5 db 'Qian Er',0
data ends
code segment
start:
mov ax, data
mov ds, ax
mov ax, 0b800h
mov es, ax
input:
mov ah,1
int 21h ;调用21h中断的第1号功能,从键盘读入字符,AL保存读入字符的ASCII码
sub al, 30h ;相减后,al中保存的ASCII变为数字
;为0时退出,为1-5时在屏幕最上面一行输出对应人的姓名,输入其他无响应
;请在程序中加入足量的注释
mov ah,4ch
int 21h
code ends
end start
报告内容:带注释的源程序及运行结果如下
源程序:
运行结果: