编码不容易,望能帮到楼主。楼主好好看CRLFMACRO;宏定义,实现回车换行MOVAH,2MOVDL,0DHINT21HMOVAH,2MOVDL,0AHINT21HENDMDSEGMENTSCOREDB76,69,84,90,73,88,89,63,100,80;数组接收分数SDB5DUP(?);预留5个位置存储每个分数段的人数WORDSDB"THENUMBERBETWEEN60~69IS:$"WORDS1DB"THENUMBERBETWEEN70~79IS:$"WORDS2DB"THENUMBERBETWEEN80~89IS:$"WORDS3DB"THENUMBERBETWEEN90~99IS:$"WORDS4DB"THENUMBERBETWEEN100IS:$"DENDSCODESEGMENTASSUMECS:CODE,DS:DBG:MOVAX,DMOVDS,AXCALLCOUNT;调用子程序MOVAH,9;输出每个分数段的人数LEADX,WORDSINT21HMOVAH,2MOVDL,SADDDL,30HINT21HCRLFMOVAH,9LEADX,WORDS1INT21HMOVAH,2MOVDL,S1ADDDL,30HINT21HCRLFMOVAH,9LEADX,WORDS2INT21HMOVAH,2MOVDL,S2ADDDL,30HINT21HCRLFMOVAH,9LEADX,WORDS3INT21HMOVAH,2MOVDL,S3ADDDL,30HINT21HCRLFMOVAH,9LEADX,WORDS4INT21HMOVAH,2MOVDL,S4ADDDL,30HINT21HCRLFMOVAH,4CHINT21HCOUNT:;子程序入口MOVCX,10;循环10次MOVSI,0LOP:INT3MOVAL,SCORE[SI]CMPAL,70JBNUMBER6;比较进入不同的标号进行计算每个分数段人数CMPAL,80JBNUMBER7CMPAL,90JBNUMBER8CMPAL,100JENUMBER10JMPNUMBER9NUMBER6:;不同标号之下的作用是计算每个分数段人数并存于预留的位置中MOVBL,SINCBLMOVS,BLJMPLNUMBER7:MOVBL,S1INCBLMOVS1,BLJMPLNUMBER8:MOVBL,S2INCBLMOVS2,BLJMPLNUMBER9:MOVBL,S3INCBLMOVS3,BLJMPLNUMBER10:MOVBL,S4INCBLMOVS4,BLJMPLL:INCSILOOPLOPRET;子程序结束,放回主程序CODEENDSENDBG
2023-07-18 22:58:041