资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
江苏大学电气信息工程学院微机原理课程设计附件下载地址: http:/pan.baidu.com/disk/home#path=%252F%25E6%2588%2591%25E7%259A%2584%25E8%25B5%2584%25E6%25BA%2590各个列程:各题间的顺序我忘记了!1、有条关于输入年、月、日的,程序如下:DATA SEGMENTTHEME1 DB 0DH,0AH,0DH,0AH,=WHAT IS THE DATA(MM/DD/YY)?=,0DH,0AH,$THEME2 DB =PLEASE INPUT MONTH,DAY ,YEAR(MM/DD/YY),END WITH Esc!=,0DH,0AH,$M_ERROR DB 0DH,0AH,!MONTH ERROR!PLEASE INPUT AGAIN,0DH,0AH,$ D_ERROR DB 0DH,0AH,!DAY ERROR!PLEASE INPUT AGAIN,0DH,0AH,$ERROR DB 0DH,0AH,!ERROR!PLEASE INPUT AGAIN,0DH,0AH,$POINT DB 0DH,0AH,THE DATA IS:,$POINT_M DB 0DH,0AH,PLEASE INPUT THE NUMBER OF MONTH:,$POINT_D DB 0DH,0AH,PLEASE INPUT THE NUMBER OF DAY:,$POINT_Y DB 0DH,0AH,PLEASE INPUT THE NUMBER OF YEAR:,$BUFF DW 4 DUP(?)MARK DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXMOV SI, 0LEA DX, THEME1MOV AH, 9INT 21HMOV AH,02HMOV DL,07HINT 21H LEA DX, THEME2MOV AH, 9INT 21HJMP INPUT_MNEW_M: MOV AH,02HMOV DL,07HINT 21H MOV AH, 9LEA DX, M_ERRORINT 21H INPUT_M: LEA DX, POINT_MMOV AH, 9INT 21HMOV MARK,0CALL GETNUMCMP MARK,1JZ NEW_MMOV AX,BUFFSI-1AND AX,00FFHCMP AX,0012HJBE L1DEC SIJMP NEW_ML1: CALL HuanHangJMP INPUT_DNEW_D: MOV AH,02HMOV DL,07HINT 21HMOV AH, 9LEA DX, D_ERRORINT 21H INPUT_D: LEA DX, POINT_DMOV AH, 9INT 21HMOV MARK,0CALL GETNUMCMP MARK,1JZ NEW_DMOV AX,BUFFSI-1AND AX,00FFHCMP AX,0031HJBE L2DEC SIJMP NEW_DL2: CALL HuanHangINPUT_Y: MOV AH, 9LEA DX, POINT_Y INT 21HMOV MARK,0CALL GETNUMCMP MARK,1JZ INPUT_YCALL HuanHangLEA DX,POINTMOV AH,9INT 21HMOV AX,BUFF2CALL DISP4MOV AH,02HMOV DL,-INT 21HMOV AX,BUFF0CALL DISP2MOV AH,02HMOV DL,-INT 21HMOV AX,BUFF1CALL DISP2CALL HuanHangJMP START DISP4 PROC NEARPUSH AXMOV AL,AHCALL DISP2POP AXCALL DISP2RET DISP4 ENDPDISP2 PROC NEARMOV BL,ALMOV DL,BLMOV CL,04ROL DL,CLAND DL,0FHCALL DISP1MOV DL,BLAND DL,0FHCALL DISP1RETDISP2 ENDPDISP1 PROC NEARADD DL,30HCMP DL,3AHJB DDDADD DL,27HDDD: MOV AH,02HINT 21HRETDISP1 ENDPGETNUM PROC NEARMOV DX, 0AGAIN: MOV AH, 01HINT 21HCMP AL,1BHJZ EXITCMP AL, 0DHJZ LP1SUB AL, 30HCMP AL, 0JB LP2CMP AL, 9JA LP2MOV CL, 4SHL DX, CLXOR AH, AHADD DX, AXJMP AGAINLP1: MOV AX, DXMOV BUFFSI,AXINC SILP3: RETLP2: LEA DX, ERRORMOV AH, 9INT 21HMOV MARK,1CALL HuanHangJMP LP3RETGETNUM ENDPHuanHang PROC NEARMOV AH, 2MOV DL, 0DHINT 21MOV AH,02HMOV DL,0AHINT 21HRETHuanHang ENDPEXIT: MOV AH, 4CHINT 21HCODE ENDSEND START2、输入字符并显示的那题:DATA SEGMENTTITTLE DB 0DH,0AH,0DH,0AH,0DH,0AH,!PLEASE INPUT 1F!,0DH,0AH,QUIT WITH Esc0DH,0AH,$MSG1 DB 0DH,0AH, Hex:,$MSG2 DB 0DH,0AH,Binary:,$BUF DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXLEA DX, TITTLEMOV AH, 9INT 21HLEA DX, MSG1;MOV AH, 9;INT 21HMOV CX, 4MOV SI, 0INPUT: MOV AH, 1;通过四次循环从键盘读入四位十六进制数INT 21HCMP AL, 1BH;Esc 键的 ASCII 码JZ EXITMOV BUFSI, AL INC SILOOP INPUTLEA DX, MSG2MOV AH, 9INT 21HMOV CX, 4MOV SI, 0NEXT: MOV BL, BUFSICMP BL, 39H JBE LP2;读入的字符9 转向 OKSUB BL, 7;读入字符= 9 减 7LP2: AND BL, 0FHPUSH CX MOV CL, 4 SHL BL, CL;逻辑左移 4 位,低 4 位 高 4 位MOV CX, 4LP1: SHL BL, 1;逻辑左移 1 位,最高位进入 CFMOV DL, 30HADC DL, 0;用到 CF,转换为 ASCII 码MOV AH, 2INT 21HLOOP LP1POP CXINC SILOOP NEXTMOV AH, 2MOV DL, B;显示二进制表示符BINT 21HJMP STARTEXIT: MOV AH, 4CHINT 21HCODE ENDSEND START3、小写字符转换为大写字符:DATA SEGMENTDISPP1 DB 0AH,_Wrong Word!Please Input Again!0DH,0AH,$DISPP2 DB 0DH,0AH,$DISPP3 DB Please Input A Character,End With Esc,0DH,0AH,$BUFF1 DB 50 DUP(?);!BUFF2 DB 50 DUP(?);!DATA ENDS;代码段CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXLEA SI, BUFF1LEA DI, BUFF2L2: LEA DX, DISPP3MOV AH,9;9 号功能调用可实现将字符串在屏幕上显示出来,INT 21H;要求:DS:DX 指向字符串地址的首址,并且字符串必须以$为结束符AGAIN: MOV AH, 1;1 号功能,单个字符从键盘输入到 AL 寄存器,并在屏幕上显示出来INT 21H;MOV BL, AL;暂存;MOV DL, _;MOV AH, 02H;INT 21H;MOV DL, _;写与不写区别不大;MOV AH, 02H;2 号功能调用,单个字符显示,把要显示的字符的ASCII 码送 DL 寄存器;INT 21H;MOV AL, BL;取出MOV SI, ALINC SICMP AL, 0DHJZ DISPLAYCMP AL, 1BH;Esc 键的 ASCII 码JZ OVERCMP AL, a;CMP 是比较指令,功能是目的操作数减去源操作数,但不送回相减的结果,只是使结果影响标志位JB L1CMP AL, zJA L1SUB AL, 20H;小写字母向大写字母转换MOV DI, ALINC DIJMP AGAIN;MOV AH, 2;2 号功能调用,单个字符显示,把要显示的字符的 ASCII码送 DL 寄存器;INT 21H;LEA DX, DISPP2;回车并换行;MOV AH, 9;9 号功能调用可实现将字符串在屏幕上显示出来,;INT 21H;要求:DS:DX 指向字符串地址的首址,并且字符串必须以$为结束符;LEA DX, DISPP2 ;MOV AH, 9;INT 21H;JMP START;循环L1:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号