1、否则显示“INPUT RIGHT CHARACTER”,返回DOS。3.计算一组字数据中正数,负数和零的个数,并分别存放在PCOUNT,MCOUNT和ZCOUNT单元。设该组数据首地址为 ARRY,数据个数在CNT单元存放。二、算法描述流程图实验内容1、2、3的流程图分别为图1、图2、图3。图1图2图3三、实验步骤1)输入源程序:DSEG SEGMENTDATA DB 45H,16H,63H,24H,0B1H,0A6H,0A4H,18HCOUNT DW 08ODDSSUM DW 0EVENSSUM DW 0DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG
2、MAIN:MOV AX,DSEG MOV DS,AX LEA SI,DATA MOV CX,COUNT XOR AX,AX XOR BX,BX XOR DX,DXAGAIN:MOV AL,SI TEST AL,01 JZ EVENS ADD BX,AX JMP CHCNTEVENS:ADD DX,AXCHCNT:INC SI LOOP AGAIN MOV ODDSSUM,BX MOV EVENSSUM,DX MOV AH,4CH INT 21HCSEG ENDS END MAIN2)运行程序。3)检查结果无错误后将结果记录下来。DATA SEGMENTSTR0 DB INPUT THE RIG
3、HT CHARACTER,$STR1 DB INPUT CHARACTER:STR2 DB THE FIRST SUBROUTINE!DATA ENDSCODE SEGMENTCODE,DS:DATASTART:MOV AX,DATA MOV DX,OFFSET STR1 MOV AH,09H MOV AH,01H CMP AL,1 JZ SUBF MOV DL,0DH MOV AH,02H MOV DL,0AH LEA DX,STR0 JMP EXITSUBF: LEA DX,STR2EXIT:CODE ENDS END STARTARRY DW 15,-5,1,5,0,123,964,-3
4、27,0CNT DW 9PCOUNT DW 0MCOUNT DW 0ZCOUNT DW 0 LEA SI,ARRY MOV CX,CNTPMZN0:TEST WORD PTRSI,0FFFFH JS MINUS JNZ PLUS INC DX JMP PMZN1PLUS: INC AX JMP PMZN1 MINUS: INC BXPMZN1: INC SI+2 LOOP PMZN0 MOV PCOUNT,AX MOV MCOUNT,BX MOV ZCOUNT,DXCSEG ENDS四、实验结果程序运行结果如下界面所示:五、思考题1.测试最低位状态也可以用右移指令,然后判断CF的状态.请问如何
5、修改程序语句?答:将AGAIN和EVENS语句改为: SHR AL,1 JNC EVENS SHL AL,1 INC AL ADD DX,AX2.请仔细阅读程序说明AH功能号分别为01H,02H,09H时所代表的功能。01H输入字符,02H显示字符,09H输出字符3.本程序利用TEST指令影响标志位来判别程序分支,请问程序利用的是哪两个标志位? 答:ZF和SF标志位六、扩展题1.有一班级,学生人数存储于内存NUB单元,该班同学某门课程的成绩存放于内存S开始的单元,编制程序,统计该班该课程的平均成绩,存放于E单元。S DW 5,4,3,6,7 NUB DW 5E DW 0 MOV AX,DSEG
6、 LEA SI,S MOV AX,0 MOV BX,0 MOV CX,NUB MOV BX,SI ADD AX,BX ADD SI,2 DIV NUB MOV E,AX运行结果:2.编写程序在屏幕上显示AZ26个大写字母,要求用DOS系统功能调用INT 21H的02H号功能实现。 STR DB OUTPUT CHARACTER: MOV DX,OFFSET STR INT 21H MOV CX,26 MOV DL,AL0: MOV AH,2 INC DL LOOP L0END START3.设有一组字节数据,编制程序求其全部正数的和。设和不超过16位二进制数,可用一个字表示或存放。 BUF DB 15,-15,7,-6,-34,56,6FH BUF1 DW 0 MOV DX,0 MOV CX,8 MOV SI,OFFSET BUF TEST BYTE PTRSI,0FFH JS L1 MOV AX,SI AND AX,00FFHL1: INC SI MOV BUF1,DX七、实验心得这次综合程序的运行及思考题、扩展题的操作让我对汇编语言中的循环、求和、求平均值、判断正负、字符显示等有了更深的理解和更熟练的应用,但是通过运行第三个源程序也让我意识到自己对汇编语言的理解还不够深入,只是一味的照搬没有思考其中的语法错误,以后会加强学习争取做更熟练的操作。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2