编写汇编语言程序
发布网友
发布时间:2022-04-22 05:06
我来回答
共1个回答
热心网友
时间:2023-07-06 21:59
;本程序通过编译,运行正确。
datasegment
mes1db'92,85,74,81,70,68,65,78,54,43',0ah,0dh
db'94,100,83,88,79,83,79,69,62,60',0ah,0dh,'$';定义用于显示的字符串
mes2dw92,85,74,81,70,68,65,78,54,43
dw94,100,83,88,79,83,79,69,62,60;存放20个十进制数
elementsequ($-mes2)/typemes2;元素个数
mes3db'averagesore=$'
dataends
codesegment
assumecs:code,ds:data
start:movax,data
movds,ax
leadx,mes1;第一行显示20个同学的成绩
movah,9
int21h
leadx,mes3;第二行显示averagescore=求得的平均分数。
movah,9
int21h
cld
leasi,mes2
movcx,elements
xorax,ax
adding:addax,[si];累加20个同学的分数
incsi
incsi
loopadding
movbl,elements
divbl;计算20个分数的平均值
xorah,ah
movbl,10
divbl
orax,3030h;把商和余数转换成十进制显示的ascii码
movdx,ax
movah,2;以十进制值表示将平均值十位数显示在屏幕上
int21h
movdl,dh
movah,2;以十进制值表示将平均值个位数显示在屏幕上
int21h
movah,4ch;结束程序
int21h
codeends
endstart;编译到此结束
程序运行结果如下:
92,85,74,81,70,68,65,78,54,43
94,100,83,88,79,83,79,69,62,60
averagesore=75