任务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时在屏幕最上面一行输出对应人的姓名,输入其他无响应 ;请在程序中加入足量的注释 cmp al,0 je exit ;Exit at 0. cmp al,0 jb input cmp al,5 ja input ;Displayed only when it is greater than 0 and less than 5. mov bl,al mov bh,0 add bx,bx mov bx,stu[bx-2] ;Enter 1 but start with 0 and subtract 2. call cls ;Clear the first line. mov si,0 show: mov al,ds:[bx] cmp al,0 je input mov es:[si],al add si,2 ;Every two writes to video memory. inc bx jmp show exit: mov ah,4ch int 21h cls proc ;Clear screen subroutine, clear the first line. push bx push cx push es mov bx,0b800h mov es,bx mov bx,0 mov cx,80 sub1s: mov byte ptr es:[bx],' ' add bx,2 loop sub1s pop es pop cx pop bx ret cls endp code ends end start
贺利坚老师汇编实验6(上机)
最新推荐文章于 2023-05-28 15:07:31 发布