1.熟练掌握8086/8088常用汇编指令的使用方法
2.熟练掌握循环结构程序编程技巧
3.熟练掌握汇编语言程序运行调试方法
认真分析实验题目,设计程序流程图,独立完成代码编写及运行调试。
给出不大于255的十个正整数,分别计算出其中偶数和奇数的平均值,并以十进制的方式输出,保留到小数点后两位。
略。
- sseg segment stack
- stp db 100 dup(0)
- sseg ends
- dseg segment
- dta db 12,14,12,14,12,16,57,21,25,11
- dtb db 0;偶数计数器
- dtc db 0;奇数计数器
- jishu db 0,0
- oushu db 0,0
- num db ?
- flag db 1
- dseg ends
- cseg segment
- assume cs:cseg,ds:dseg
- assume ss:sseg
- print macro
- add al,30h
- mov dl,al
- mov ah,02h
- int 21h
- endm
- huanhang macro
- mov al,0ah
- mov dl,al
- mov ah,02h
- int 21h
- endm
- shijinzhi macro
- local a,b,c
- mov num,al
- ;判断是否大于100
- cmp num,100
- jc a;num<100,cf =1,跳a
- mov ah,0
- mov al,num
- mov bl,100
- div bl;al为商,ah为余数
- mov num,ah
- print
- mov flag,0
- a: ;判断是否大于10
- cmp num,10
- jc b
- mov ah,0
- mov al,num
- mov bl,10
- div bl;al为商,ah为余数
- mov num,ah
- print
- mov flag,1
- b: cmp flag,1
- ;flag的作用是防止余数小于10
- jnc c
- mov al,0
- print
- c: mov al,num
- print
- endm
- panduan proc
- mov dl,2eh
- mov ah,02h
- int 21h
- mov al,num
- mov ah,0
- cmp ah,al
- jc notzero
- print
- ret
- notzero: mov al,num
- mov num,100
- mul num;存在ax中
- div bl
- shijinzhi
- ret
- panduan endp
- start: mov ax,dseg
- mov ds,ax
- mov ax,sseg
- mov ss,ax
- mov sp,size stp
- mov cx,10
- mov si,0
- again: mov al,[si]
- shr al,1;cf = 1奇,cf = 0偶
- jc d
- mov bl,[si]
- add oushu,bl
- adc byte ptr oushu+1,0
- inc dtb
- jmp e
- d: mov bl,[si]
- add jishu,bl
- adc byte ptr jishu+1,0
- inc dtc
- e: inc si
- loop again
- mov ah,oushu+1
- mov al,oushu
- div dtb;al中存平均值,ah存余数
- mov oushu,al
- mov oushu+1,ah
- mov ah,jishu+1
- mov al,jishu
- div dtc;
- mov jishu,al
- mov jishu+1,ah
- ;按十进制输出
- mov al,oushu
- shijinzhi
- mov al,oushu+1
- mov num,al
- mov bl,dtb
- call panduan
- huanhang
- mov al,jishu
- shijinzhi
- mov al,jishu+1
- mov num,al
- mov bl,dtc
- call panduan
- mov ah,4ch
- int 21h
- cseg ends
- end start
运行截图:

本次实验中,我对循环结构程序又有了更新一层认识,对汇编指令的使用规则及方法掌握的更熟练了。在本次实验中,我同时也遇到了一些困难:
经过这段时间的训练,一点点地编写代码与调试,对于汇编语言有了更高一层的理解与掌握,也认识到了它身为低级语言的重要性,希望我在未来的学习中能更加深刻的学习与掌握相关知识,搭建好人与机器沟通的桥梁。