好文档 - 专业文书写作范文服务资料分享网站

汇编语言课程设计报告(完整资料).doc

天下 分享 时间: 加入收藏 我要投稿 点赞

RET CR ENDP START:

MOV AX,DATAS MOV DS,AX XOR SI,SI MOV CX,9 MOV AH, 00H

MOV AL, 10 ;选择显示方式10H(16色图形) INT 10H

MOV AH, 10H MOV AL, 00H

MOV BH, 10H ;背景设为绿色(02H也可以,是用DEBUG调试出来的)

MOV BL, 0 ;选择0号调色板 INT 10H INPUT:

LEA DX,STRING1

MOV AH,9 ;9号功能,显示字符串 INT 21H ;的逻辑地址 MOV AH,1 ;AL=输入字符 INT 21H

SUB AL,30H ;把输入的字符ASCII转换成数值 MOV DL,10

MUL DL ;十位数乘以10

MOV DX,AX ;把十位数存放在DL MOV AH,1 INT 21H MOV BL,'.'

CMP AL,BL ;判断个位数是否是小数点,因为要输入的数是

【最新整理,下载后即可编辑】

整数,用这种方法来提示输入的数不能是小数 JE ER1

SUB AL,30H

ADD AL,DL ;个位数和十位数相加 CMP AL,0 ;跟0比较 JB ER ;小于0则调到ER CMP AL,10 ;跟10比较 JA ER ;大于10则调到ER

MOV RESULT[SI],AL ;把AL的值存放在RESULT INC SI ;SI自加1 INC NUMBER

CALL CR ;调用子程序 LOOP INPUT

JMP RANGE_0 ;转入排序 ER:

LEA DX,ERROR ;取ERROR的偏移地址 MOV AH,9 INT 21H JMP INPUT ER1:

LEA DX,ERROR1 MOV AH,9 INT 21H JMP INPUT RANGE_0: MOV BX,1 MOV CX,9 XOR DI,DI RANGE:

【最新整理,下载后即可编辑】

MOV AL,RESULT[DI] ;把RESULT(I)送到AL CMP AL,RESULT[DI+1] ;进行比较

JAE NEXT_1 ;大于或等于跳到NEXT_1 XCHG RESULT[DI+1],AL ;小于则进行交换 MOV RESULT[DI],AL ;保存较大的数 MOV BX,0 NEXT_1: INC DI

LOOP RANGE CMP BX,0 JE RANGE_0

LEA DX,STRING2 ;取STRING2的偏移地址 MOV AH,9 INT 21H

MOV CX,9 ;显示输出的次数 XOR SI,SI;SI ;清零 MOV AH,2

RANGE_OUTPUT: ;输出排序后的得分 MOV DL,RESULT[SI]

ADD DL,30H ;把DL的值转换成ASCII CMP DL,39H ;判断是否是10分 JA TENS_1 ;10分就跳到TEXT_1 JBE TENS_0 ;不是就跳到TEXT_0 TENS_1:

MOV BX,1

MOV DL,'1' ;输出字符1 INT 21H

MOV DL,'0' ;输出字符0 INT 21H INC SI

MOV DL,',' ;输出逗号

【最新整理,下载后即可编辑】

INT 21H JMP NEXT_2

TENS_0: ;十位数位0,则按原分输出 INT 21H INC SI MOV DL,',' INT 21H NEXT_2:

LOOP RANGE_OUTPUT MOV AH,2

MOV DL,0AH ;换行 INT 21H

MOV DL,0AH ;换行 INT 21H

MOV DL,0DH ;回车 INT 21H

LEA DX,STRING3 ;取STRING3的偏移地址 MOV AH,9H INT 21H

MOV CX,7 ;累加中间7个数字 XOR AX,AX ;AX清零 DEC SI SUM:

;求7个分数的和 DEC SI

ADD AL,RESULT[SI] LOOP SUM

CMP AL,46H ;与满分70 比较

JAE FULL_MARK ;大于等于挑到FULL_MARK JMP N_FULL_MARK ;否则跳到N_FULL_MARK FULL_MARK:

【最新整理,下载后即可编辑】

;满分时 MOV AH,2H MOV DL,'1' INT 21H

MOV DL,'0' INT 21H MOV DL,'.'

INT 21H MOV DL,'0' INT 21H MOV DL,'0' INT 21H

JMP ENDING N_FULL_MARK: ;非满分时

MOV CX,3 准备

MOV BH,1 DIVISION:

MOV BL,7 DIV BL PUSH AX ADD AL,30H MOV DL,AL MOV AH,2 INT 21H CMP BH,0 数点

JE DOT

MOV DL,'.'

【最新整理,下载后即可编辑】

;输出字符1 ;输出字符0

;输出字符

;设置循环3次,为下面的求两位小数做;设置小数点出现一次

;除以7

;把除完后的AX入栈,存起来

;输出商

;把BX置为0,使下次循环不会出现小

汇编语言课程设计报告(完整资料).doc

RETCRENDPSTART:MOVAX,DATASMOVDS,AXXORSI,SIMOVCX,9MOVAH,00HMOVAL,10;选择显示方式10H(16色图形)INT10HMOVAH,10HMOVAL,00HMOV
推荐度:
点击下载文档文档为doc格式
0lkym5cjhi9kcek7hm3l8mqar1ru5x013bt
领取福利

微信扫码领取福利

微信扫码分享