Cherry6151123
第一题 刚好做了这个。。。汇编好累的啊。。。最重要的是代码贴过来要重新排版~PRINT MACRO X,YLEA DX,XMOV AH,9INT 21HMOV BX,YCALL DCB3ENDMDATA SEGMENTTAB DB 32 DUP(0)NUM1 DW 0NUM2 DW 0NUM3 DW 0NUM4 DW 0NUM5 DW 0SPA DB' ','$' ;插入空格HEHE DB'Student Score:',10,'$'HEHE1 DB10,13,'SCORE 0~59:','$'HEHE2 DB10,13,'SCORE 60~69:','$'HEHE3 DB10,13,'SCORE 70~79:','$'HEHE4 DB10,13,'SCORE 80~89:','$'HEHE5 DB10,13,'SCORE 90~100:','$'DATA ENDSSTACK SEGMENT DB 512 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA DX,HEHE;输入提示MOV AH,9INT 21HLEA SI,TAB;将TAB缓冲区的首地址送SI寄存器MOV DI,0L:CALL DCB1;入口参数键盘,出口BXCALL DCB2;入口BX,出口BLMOV [SI],BLCMP BL,60HJB ONECMP BL,70HJB TWOCMP BL,80HJB THREECMP BL,90HJB FOURCMP BL,99HJBE FIVEONE:MOV DI,NUM1INC NUM1JMP NEWTWO:MOV DI,NUM2INC NUM2JMP NEWTHREE:MOV DI,NUM3INC NUM3JMP NEWFOUR:MOV DI,NUM4INC NUM4JMP NEWFIVE:MOV DI,NUM5INC NUM5JMP NEWNEW:INC SICMP SI,1EH;计数30个数JB LPRINT HEHE1,NUM1;SCORE 0~59:PRINT HEHE2,NUM2;SCORE 60~69:PRINT HEHE3,NUM3;SCORE 70~79:PRINT HEHE4,NUM4;SCORE 80~89:PRINT HEHE5,NUM5;SCORE 90~100:MOV AH,4CHINT 21HDCB1 PROC;输入一个字符MOV AH,1INT 21HMOV BH,ALMOV AH,1INT 21HMOV BL,ALLEA DX,SPA;插入空格MOV AH,9INT 21HRETDCB1 ENDP;出口参数BXDCB2 PROC;压缩为一字节BCD码MOV CL,4SUB BX,3030HSHL BH,CLADD BL,BHRETDCB2 ENDP;出口参数BLDCB3 PROC;入口AX,将BCD数转化为ASCII,并输出MOV AL,BLMOV CL,4MOV BH,BLSHR BH,CLAND BL,0FHADD BX,3030HMOV DL,BHMOV AH,2INT 21HMOV DL,BLMOV AH,2INT 21HRETDCB3 ENDPCODE ENDS END START
优质考试培训问答知识库