- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工计算机原理实验三(报告)
《计算机原理实验报告》——汇编语言
实验(三)名称: 计算学生平均成绩实验
一、实验目的:
1.学习运算类指令
2.复习几种常用INT 21H 指令
二、实验要求:
编制一个:求30名学生平均成绩的程序
三、编程算法与说明:
先将成绩求平均值,存储于特定的存储区域,然后将平均值转换为ASCII码输出显示
1.累加和子程序accum:将数据串buf中的数据累加,结果存于data1
2.平均值子程序average :将data1中的累加和转换为平均值,结果存于data2
3.二进制/BCD装换子程序conver :将data2中的平均值转换为BCD码。其中:
百位存于data3单元;
十位存于data4单元;
个位存于data5单元。
4.显示子程序display :将data3-5中的BCD码的百十个位利用INT21H的9号功能显示在屏幕上。
四、程序流程图:
五、程序清单:
data segment
buf dw 80,100,100,80,75,66,58,100,69,95
count equ ($-buf)/2
data1 dw ? ;累加和单元(字数据)
data2 db ? ;平均值单元(字节数据)
data3 db ? ;BCD的百位单元(字节数据)
data4 db ? ;BCD的十位单元(字节数据)
data5 db ? ;BCD的个位单元(字节数据)
buf2 db 0dh,0ah,$
buf1 db my name is chenyubin 1956,0dh,0ah,$
buf3 db The average score is ,$
buf4 db 80,100,100,80,75,66,58,100,69,95,0AH,0DH,$
data ends
ssg1 segment
dw 100 dup(?)
ssg1 ends
code segment
assume cs:code,ds:data,ss:ssg1
main: mov ax,data
mov ds,ax
lea dx,buf1
mov ah,09h
int 21h
lea dx,buf4
mov ah,09h
int 21h
call accum ;accumulatino from buf to data1
call average ;average from data1 to data2
call conver ;with data2 conver to bcd(to data3-5)
lea dx,buf3 ;显示字符串buf3
mov ah,09h
int 21h
call display1 ;将data3、data4和data5的BCD码进行显示
mov ax,4c00h
int 21h
accum proc
mov cx,count ;累加和子程序
lea bx,buf ;将数据串buf中的数据累加
and ax,0
cc:
add ax,[bx]
add bx,2
loop cc
mov data1,ax
ret ;结果存于data1
accum endp
average proc
mov dx,0
mov bx,count
div bx ;求平均值程序中
mov data2,al ;将data1中的累加和转换为平均值
ret ; 结果存于data2
average endp
conver proc
mov dx,0 ;BCD码转换子程序
mov si,10 ;将data2中的平均值转换为BCD码
div si
call
文档评论(0)