ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:96.04KB ,
资源ID:12053405      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12053405.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(江苏大学微机原理课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

江苏大学微机原理课程设计.docx

1、江苏大学微机原理课程设计江苏大学电气信息工程学院微机原理课程设计附件下载地址: 各个列程:各题间的顺序我忘记了!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_ERRORDB 0DH,0AH,!MONTH ERROR!PLEASE INPUT AGAIN,0DH,0AH,$ D_ERROR DB 0D

2、H,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

3、(?)MARK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX MOV SI, 0 LEA DX, THEME1 MOV AH, 9 INT 21H MOV AH,02H MOV DL,07H INT 21H LEA DX, THEME2 MOV AH, 9 INT 21H JMP INPUT_MNEW_M: MOV AH,02H MOV DL,07H INT 21H MOV AH, 9 LEA DX, M_ERROR INT 21H INPUT_M: LEA DX, POINT_M

4、MOV AH, 9 INT 21H MOV MARK,0 CALL GETNUM CMP MARK,1 JZ NEW_M MOV AX,BUFFSI-1 AND AX,00FFH CMP AX,0012H JBE L1 DEC SI JMP NEW_ML1: CALL HuanHang JMP INPUT_DNEW_D: MOV AH,02H MOV DL,07H INT 21H MOV AH, 9 LEA DX, D_ERROR INT 21H INPUT_D: LEA DX, POINT_D MOV AH, 9 INT 21H MOV MARK,0 CALL GETNUM CMP MARK

5、,1 JZ NEW_D MOV AX,BUFFSI-1 AND AX,00FFH CMP AX,0031H JBE L2 DEC SI JMP NEW_DL2: CALL HuanHangINPUT_Y: MOV AH, 9 LEA DX, POINT_Y INT 21H MOV MARK,0 CALL GETNUM CMP MARK,1 JZ INPUT_Y CALL HuanHang LEA DX,POINT MOV AH,9 INT 21H MOV AX,BUFF2 CALL DISP4 MOV AH,02H MOV DL,- INT 21H MOV AX,BUFF0 CALL DISP

6、2 MOV AH,02H MOV DL,- INT 21H MOV AX,BUFF1 CALL DISP2 CALL HuanHang JMP START DISP4 PROC NEAR PUSH AX MOV AL,AH CALL DISP2 POP AX CALL DISP2 RET DISP4 ENDPDISP2 PROC NEAR MOV BL,AL MOV DL,BL MOV CL,04 ROL DL,CL AND DL,0FH CALL DISP1 MOV DL,BL AND DL,0FH CALL DISP1 RETDISP2 ENDPDISP1 PROC NEAR ADD DL

7、,30H CMP DL,3AH JB DDD ADD DL,27HDDD: MOV AH,02H INT 21H RETDISP1 ENDP GETNUM PROC NEAR MOV DX, 0AGAIN: MOV AH, 01H INT 21H CMP AL,1BH JZ EXIT CMP AL, 0DH JZ LP1 SUB AL, 30H CMP AL, 0 JB LP2 CMP AL, 9 JA LP2 MOV CL, 4 SHL DX, CL XOR AH, AH ADD DX, AX JMP AGAINLP1: MOV AX, DX MOV BUFFSI,AX INC SILP3:

8、 RETLP2: LEA DX, ERROR MOV AH, 9 INT 21H MOV MARK,1 CALL HuanHang JMP LP3 RETGETNUM ENDPHuanHangPROC NEAR MOV AH, 2 MOV DL, 0DH INT 21 MOV AH,02H MOV DL,0AH INT 21H RETHuanHang ENDPEXIT: MOV AH, 4CH INT 21HCODE ENDS END START2、输入字符并显示的那题:DATA SEGMENTTITTLE DB 0DH,0AH,0DH,0AH,0DH,0AH,!PLEASE INPUT 1F

9、!,0DH,0AH,QUIT WITH Esc0DH,0AH,$MSG1 DB 0DH,0AH, Hex:,$MSG2 DB 0DH,0AH,Binary:,$BUF DB 4 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX LEA DX, TITTLE MOV AH, 9 INT 21HLEA DX, MSG1;MOV AH, 9;INT 21HMOV CX, 4MOV SI, 0INPUT: MOV AH, 1;通过四次循环从键盘读入四位十六进制数INT 21H CMP AL,

10、 1BH;Esc键的ASCII码 JZ EXITMOV BUFSI, ALINC SI LOOP INPUT LEA DX, MSG2MOV AH, 9INT 21HMOV CX, 4MOV SI, 0NEXT: MOV BL, BUFSI CMP BL, 39H JBE LP2;读入的字符9 转向 OK SUB BL, 7;读入字符= 9 减7LP2: AND BL, 0FH PUSH CX MOV CL, 4 SHL BL, CL;逻辑左移4位,低4位高4位 MOV CX, 4LP1: SHL BL, 1;逻辑左移1位,最高位进入CF MOV DL, 30H ADC DL, 0;用到CF,

11、转换为ASCII码 MOV AH, 2INT 21H LOOP LP1 POP CX INC SI LOOP NEXT MOV AH, 2 MOV DL, B;显示二进制表示符B INT 21H JMP 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,

12、0AH,$BUFF1 DB 50 DUP(?);!BUFF2 DB 50 DUP(?);!DATA ENDS;代码段CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX LEA SI, BUFF1 LEA DI, BUFF2L2: LEA DX, DISPP3 MOV AH,9;9号功能调用可实现将字符串在屏幕上显示出来, INT 21H;要求:DS:DX指向字符串地址的首址,并且字符串必须以$为结束符AGAIN: MOV AH, 1;1号功能,单个字符从键盘输入到AL寄存器,并在屏幕上显示出来 INT 21H ;M

13、OV BL, AL;暂存;MOV DL, _;MOV AH, 02H;INT 21H ;MOV DL, _;写与不写区别不大 ;MOV AH, 02H;2号功能调用,单个字符显示,把要显示的字符的ASCII码送DL寄存器;INT 21H ;MOV AL, BL;取出 MOV SI, AL INC SI CMP AL, 0DH JZ DISPLAY CMP AL, 1BH;Esc键的ASCII码 JZ OVER CMP AL, a;CMP是比较指令,功能是目的操作数减去源操作数,但不送回相减的结果,只是使结果影响标志位 JB L1 CMP AL, z JA L1 SUB AL, 20H;小写字母

14、向大写字母转换 MOV DI, AL INC DI JMP 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: LEA DX, DISPP1;报错 MOV AH, 9 INT 21H LEA DX, DISPP2;回车并换行 MOV A

15、H, 9 INT 21H JMP L2DISPLAY: MOV BYTE PTR DI,$MOV BYTE PTR SI,$ ;LEA DX, DISPP2;回车并换行 ;MOV AH, 9;9号功能调用可实现将字符串在屏幕上显示出来,;INT 21H ;LEA DX, BUFF1 ;MOV AH, 9;9号功能调用可实现将字符串在屏幕上显示出来, ;INT 21H;要求:DS:DX指向字符串地址的首址,并且字符串必须以$为结束符 LEA DX, DISPP2;回车并换行 MOV AH, 9;9号功能调用可实现将字符串在屏幕上显示出来, INT 21H;要求:DS:DX指向字符串地址的首址,并

16、且字符串必须以$为结束符;LEA DX, DISPP2 MOV AH, 9 INT 21H LEA DX, BUFF2 MOV AH, 9;9号功能调用可实现将字符串在屏幕上显示出来, INT 21H;要求:DS:DX指向字符串地址的首址,并且字符串必须以$为结束符 LEA DX, DISPP2;回车并换行 MOV AH, 9;9号功能调用可实现将字符串在屏幕上显示出来, INT 21H;要求:DS:DX指向字符串地址的首址,并且字符串必须以$为结束符;LEA DX, DISPP2 MOV AH, 9 INT 21H JMP START;循环OVER: MOV AH, 4CH;结束 INT 2

17、1HCODE ENDS END START4、字符串匹配:DATA SEGMENTSTRING1 DB 250 DB ? DB 250 DUP(?)STRING2 DB 250 DB ? DB 250 DUP(?)YES DB 0DH,0AH,MATCH!,$NO DB 0DH,0AH,NO MATCH!,$POINT1 DB 0DH,0AH,PLEASE INPUT THE FIRST STRING:,$POINT2 DB 0DH,0AH,PLEASE INPUT THE FIRST STRING:,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAST

18、ART: MOV AX, DATA MOV DS, AX MOV ES, AX LEA DX, POINT1 MOV AH, 9 INT 21H LEA DX, STRING1 MOV AH, 0AH INT 21H LEA DX, POINT2 MOV AH, 9 INT 21H LEA DX, STRING2 MOV AH, 0AH INT 21H CLD LEA SI, STRING1 LEA DI, STRING2 MOV CL, STRING11 MOV CH, 0 ADD SI, 2 ADD DI, 2 REPZ CMPSB JZ YESS LEA DX, NO MOV AH, 9

19、 INT 21HYESS : LEA DX, YES MOV AH, 9 INT 21H JMP STARTCODE ENDS END START 5、好像有条关于字符、数据的题:DATA SEGMENT DISP1 DB 0DH,0AH,=INPUT STRING,THE END FLAG IS CR(24H),QUIT WITH CTRL-C=,0DH,0AH,0DH,0AH,$ DISP2 DB 0DH,0AH,$;回车并换行 DISP3 DB Please Input The New String(The Number Of Datas In The String Is10!):,0D

20、H,0AH,$ DISP4 DB What The String Is:,$ DISP5 DB The Number Of Datas In The String Is:,$ BUFF DB 200 DUP(?) DATA ENDS;代码段CODE SEGMENT ASSUME CS: CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX MOV DI, 0;清指针 MOV CL, 0;清计数器 LEA DX, DISP1 MOV AH, 9;9号功能调用,注意DX的值以及$ INT 21H LEA DX, DISP3 MOV AH, 9 INT 21HAGAI

21、N: MOV AH, 01H;1号功能调用,单个字符输入到AL中 INT 21H CMP AL, 0DH;AL中是回车吗? JZ DISPLAY CMP AL, 03H;Ctrl-C退出 JZ EXIT MOV BUFFDI,AL;存入缓冲区 CMP AL, 39H JA NEXTLP1: CMP AL, 30H JAE LP2 JMP NEXTLP2: INC CL;计数器加1NEXT: INC DI JMP AGAINDISPLAY:ADD CL,30H ;MOV AL,CL ;MOV BUFFDI+1,AL MOV AL,0AH MOV BUFFDI+2,AL MOV AL,$ MOV

22、BUFFDI+3,AL LEA DX, DISP2 MOV AH, 9 INT 21H LEA DX, DISP4 MOV AH, 9 INT 21H LEA DX,BUFF;MOV DX, OFFSET BUFF ;MOV AH, 9 INT 21H LEA DX, DISP2 ;MOV AH, 9 INT 21H MOV DX,OFFSET DISP5;LEA DX, DISP5 MOV AH, 9 INT 21H MOV DL,CL MOV AH,2;2号功能调用 INT 21H LEA DX, DISP2 MOV AH, 9 INT 21H JMP STARTEXIT: MOV AH,

23、 4CH INT 21HCODE ENDS END START6、读文件的那题(好像是倒数第二题,记不清楚了):DATA SEGMENT FILEN DB 21;文件名允许长度为20DB ? ;实际文件名长度 DB 20 DUP(?);存新文件名 ERROP DB Open file error!,0AH,0DH,$ ERRRD DB Read file error!,0AH,0DH,$INMSG1 DB Please input filename:,0AH,0DH,$ BUFIN DB 0F000H DUP(?);输入缓冲区 EOF EQU 1AH;文件结束符CTRL+ZDATA ENDSC

24、ODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA DX,INMSG1;显示要求输入打开的文件名信息 MOV AH,09H;9号功能调用 INT 21H LEA DX,FILEN;输入文件名 MOV AH,0AH;0A号功能调用可实现从键盘接收字符串到输入缓冲区;缓冲区第一个字节指出能容纳字符的最大个数,由用户设置; INT 21H;第二个字节存放实际输入的字符个数,由系统最后自动填入;从第三个字节开始存放从键盘输入的字符,知道Enter键结束 MOV BL,FILEN+1;取文件名长度 MOV BH,0;BX中

25、装入文件名长度 MOV FILENBX+2,BYTE PTR 0;文件名末尾添加0 LEA DX,FILEN+2;指向文件名 MOV AL,0;以只读方式打开 MOV AH,3DH;3DH功能调用,打开文件 INT 21H JC OPERR;打开出错,转OPERR,CF=1则跳转 MOV BX,AX;转存文件号RDFILE: LEA DX,BUFIN;DX指向缓冲区 MOV CX,50H;每次读80个字节 MOV AH,3FH;3F功能调用,读文件 INT 21H JC RDERR;CF=1则跳转,读出错,转RDERR OR AX,AX;读入的字节数是否为0 JZ CLFILE;若为AX为0,

26、转CLFILE MOV DL,0DH;输出回车 MOV AH,2;2号功能调用 INT 21H MOV DL,0AH;输出换行,准备显示文件内容 MOV AH,2;2号功能调用 INT 21H MOV SI,0DISP0: MOV AL,BUFINSI;从缓冲区送一个字节到AL CMP AL,EOF;是否为文件结束符 JZ CLFILE;若是,转CLFILE MOV DL,AL;显示一个字符 MOV AH,2 INT 21H INC SI;指向下一个字节 LOOP DISP0 JMP RDFILE;再去读50H个字节RDERR: LEA DX,ERRRD;显示读文件出错的信息 JMP DISP

27、1OPERR: LEA DX,ERROP;显示打开文件出错的信息DISP1: MOV AH,09H INT 21H JMP ENDOCLFILE: MOV AH,3EH;3EH功能调用,关闭文件 INT 21HENDO: MOV AH,4CH;退出 INT 21HCODE ENDS END START7、响铃设计:DATA SEGMENT DATA1 DB Input number1-9,quit with Zero(0),0DH,0AH,$ DISPP1 DB 0DH,0AH,$;回车与换行 DISPP2 DB _Wrong number,please input again or quit

28、 with Zero(0),0DH,0AH,$DATA ENDS;代码段CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AXL2: LEA DX,DISPP1 MOV AH,9;9号功能调用可实现将字符串在屏幕上显示出来, INT 21H;要求:DS:DX指向字符串地址的首址,并且字符串必须以$为结束符 LEA DX,DATA1 MOV AH,9 INT 21H LEA DX,DISPP1 MOV AH,9 INT 21H MOV AH,1;1号功能,单个字符从键盘输入到AL寄存器,并在屏幕上显示出来 INT 21H CMP AL,30H;CMP是比较指令,功能是目的操作数减去源操作数,但不送回相减的结果,只是使结果影响标志位 JB L1 CMP AL,39H JA L1 AND AL,0FH;取低四位 CMP AL,0 JE OVER MOV CL,ALL3: MOV DL,07H;响

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1