江苏大学微机原理课程设计Word文件下载.docx

上传人:b****2 文档编号:4701504 上传时间:2023-05-03 格式:DOCX 页数:39 大小:96.04KB
下载 相关 举报
江苏大学微机原理课程设计Word文件下载.docx_第1页
第1页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第2页
第2页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第3页
第3页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第4页
第4页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第5页
第5页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第6页
第6页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第7页
第7页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第8页
第8页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第9页
第9页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第10页
第10页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第11页
第11页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第12页
第12页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第13页
第13页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第14页
第14页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第15页
第15页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第16页
第16页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第17页
第17页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第18页
第18页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第19页
第19页 / 共39页
江苏大学微机原理课程设计Word文件下载.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

江苏大学微机原理课程设计Word文件下载.docx

《江苏大学微机原理课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《江苏大学微机原理课程设计Word文件下载.docx(39页珍藏版)》请在冰点文库上搜索。

江苏大学微机原理课程设计Word文件下载.docx

MOVSI,0

LEADX,THEME1

MOVAH,9

INT21H

MOVAH,02H

MOVDL,07H

INT21H

LEADX,THEME2

JMPINPUT_M

NEW_M:

LEADX,M_ERROR

INT21H

INPUT_M:

LEADX,POINT_M

MOVMARK,0

CALLGETNUM

CMPMARK,1

JZNEW_M

MOVAX,BUFF[SI-1]

ANDAX,00FFH

CMPAX,0012H

JBEL1

DECSI

JMPNEW_M

L1:

CALLHuanHang

JMPINPUT_D

NEW_D:

LEADX,D_ERROR

INPUT_D:

LEADX,POINT_D

JZNEW_D

CMPAX,0031H

JBEL2

JMPNEW_D

L2:

INPUT_Y:

LEADX,POINT_Y

JZINPUT_Y

LEADX,POINT

MOVAH,9

MOVAX,BUFF[2]

CALLDISP4

MOVDL,'

-'

MOVAX,BUFF[0]

CALLDISP2

MOVAX,BUFF[1]

JMPSTART

 

DISP4PROCNEAR

PUSHAX

MOVAL,AH

POPAX

RET

DISP4ENDP

DISP2PROCNEAR

MOVBL,AL

MOVDL,BL

MOVCL,04

ROLDL,CL

ANDDL,0FH

CALLDISP1

RET

DISP2ENDP

DISP1PROCNEAR

ADDDL,30H

CMPDL,3AH

JBDDD

ADDDL,27H

DDD:

DISP1ENDP

GETNUMPROCNEAR

MOVDX,0

AGAIN:

MOVAH,01H

CMPAL,1BH

JZEXIT

CMPAL,0DH

JZLP1

SUBAL,30H

CMPAL,0

JBLP2

CMPAL,9

JALP2

MOVCL,4

SHLDX,CL

XORAH,AH

ADDDX,AX

JMPAGAIN

LP1:

MOVAX,DX

MOVBUFF[SI],AX

INCSI

LP3:

LP2:

LEADX,ERROR

MOVMARK,1

JMPLP3

GETNUMENDP

HuanHangPROCNEAR

MOVAH,2

MOVDL,0DH

INT21

MOVDL,0AH

HuanHangENDP

EXIT:

MOVAH,4CH

CODEENDS

ENDSTART

2、输入字符并显示的那题:

TITTLEDB0DH,0AH,0DH,0AH,'

<

======16--2CONVENTOR======>

>

PLEASEINPUT1<

-->

F!

QUITWITHEsc'

0DH,0AH,'

MSG1DB0DH,0AH,'

Hex:

MSG2DB0DH,0AH,'

Binary:

BUFDB4DUP(?

LEADX,TITTLE

LEADX,MSG1

;

MOVAH,9

INT21H

MOVCX,4

MOVSI,0

INPUT:

MOVAH,1;

通过四次循环从键盘读入四位十六进制数

CMPAL,1BH;

Esc键的ASCII码

MOVBUF[SI],AL

INCSI

LOOPINPUT

LEADX,MSG2

NEXT:

MOVBL,BUF[SI]

CMPBL,39H

JBELP2;

读入的字符<=9转向OK

SUBBL,7;

读入字符>

=9减7

ANDBL,0FH

PUSHCX

MOVCL,4

SHLBL,CL;

逻辑左移4位,低4位à

高4位

MOVCX,4

SHLBL,1;

逻辑左移1位,最高位进入CF

MOVDL,30H

ADCDL,0;

用到CF,转换为ASCII码

LOOPLP1

POPCX

LOOPNEXT

MOVDL,'

B'

显示二进制表示符'

JMPSTART

ENDSTART

3、小写字符转换为大写字符:

DISPP1DB0AH,'

__WrongWord!

PleaseInputAgain!

DISPP2DB0DH,0AH,'

DISPP3DB'

PleaseInputACharacter,EndWithEsc'

BUFF1DB50DUP(?

);

BUFF2DB50DUP(?

代码段

LEASI,BUFF1

LEADI,BUFF2

LEADX,DISPP3

MOVAH,9;

9号功能调用可实现将字符串在屏幕上显示出来,

INT21H;

要求:

DS:

DX指向字符串地址的首址,并且字符串必须以‘$’为结束符

1号功能,单个字符从键盘输入到AL寄存器,并在屏幕上显示出来

;

MOVBL,AL;

暂存

MOVDL,'

_'

MOVAH,02H

写与不写区别不大

MOVAH,02H;

2号功能调用,单个字符显示,把要显示的字符的ASCII码送DL寄存器

MOVAL,BL;

取出

MOV[SI],AL

JZDISPLAY

JZOVER

CMPAL,'

a'

CMP是比较指令,功能是目的操作数减去源操作数,但不送回相减的结果,只是使结果影响标志位

JBL1

z'

JAL1

SUBAL,20H;

小写字母向大写字母转换

MOV[DI],AL

INCDI

MOVAH,2;

LEADX,DISPP2;

回车并换行

MOVAH,9;

INT21H;

LEADX,DISPP2

JMPSTART;

循环

LEADX,DISPP1;

报错

LEADX,DISPP2;

JMPL2

DISPLAY:

MOVBYTEPTR[DI],'

MOVBYTEPTR[SI],'

LEADX,BUFF1

MOVAH,9;

LEADX,BUFF2

JMPSTART;

OVER:

MOVAH,4CH;

结束

4、字符串匹配:

STRING1DB250

DB?

DB250DUP(?

STRING2DB250

YESDB0DH,0AH,'

MATCH!

NODB0DH,0AH,'

NOMATCH!

POINT1DB0DH,0AH,'

PLEASEINPUTTHEFIRSTSTRING:

POINT2DB0DH,0AH,'

ASSUMECS:

MOVES,AX

LEADX,POINT1

LEADX,STRING1

MOVAH,0AH

LEADX,POINT2

LEADX,STRING2

CLD

LEASI,STRING1

LEADI,STRING2

MOVCL,STRING1[1]

MOVCH,0

ADDSI,2

ADDDI,2

REPZCMPSB

JZYESS

LEADX,NO

YESS:

LEADX,YES

5、好像有条关于字符、数据的题:

DATASEGMENT

DISP1DB0DH,0AH,'

===INPUTSTRING,THEENDFLAGISCR(24H),QUITWITHCTRL-C==='

0DH,0AH,0DH,0AH,'

DISP2DB0DH,0AH,'

DISP3DB'

PleaseInputTheNewString(TheNumberOfDatasInTheStringIs<

10!

):

DISP4DB'

WhatTheStringIs:

DISP5DB'

TheNumberOfDatasInTheStringIs:

BUFFDB200DUP(?

CODE,DS:

MOVDI,0;

清指针

MOVCL,0;

清计数器

LEADX,DISP1

9号功能调用,注意DX的值以及$

LEADX,DISP3

MOVAH,01H;

1号功能调用,单个字符输入到AL中

CMPAL,0DH;

AL中是回车吗?

CMPAL,03H;

Ctrl-C退出

MOVBUFF[DI],AL;

存入缓冲区

CMPAL,39H

JANEXT

CMPAL,30H

JAELP2

JMPNEXT

INCCL;

计数器加1

ADDCL,30H

MOVAL,CL

MOVBUFF[DI+1],AL

MOVAL,0AH

MOVBUFF[DI+2],AL

MOVAL,'

MOVBUFF[DI+3],AL

LEADX,DISP2

LEADX,DISP4

LEADX,BUFF;

MOVDX,OFFSETBUFF

MOVDX,OFFSETDISP5;

LEADX,DISP5

MOVDL,CL

MOVAH,2;

2号功能调用

6、读文件的那题(好像是倒数第二题,记不清楚了):

FILENDB21;

文件名允许长度为20

DB?

实际文件名长度

DB20DUP(?

存新文件名

ERROPDB'

Openfileerror!

0AH,0DH,'

ERRRDDB'

Readfileerror!

INMSG1DB'

Pleaseinputfilename:

BUFINDB0F000HDUP(?

输入缓冲区

EOFEQU1AH;

文件结束符CTRL+Z

MOVAX,DATA

MOVDS,AX

LEADX,INMSG1;

显示要求输入打开的文件名信息

MOVAH,09H;

9号功能调用

LEADX,FILEN;

输入文件名

MOVAH,0AH;

0A号功能调用可实现从键盘接收字符串到输入缓冲区;

缓冲区第一个字节指出能容纳字符的最大个数,由用户设置;

第二个字节存放实际输入的字符个数,由系统最后自动填入;

从第三个字节开始存放从键盘输入的字符,知道Enter键结束

MOVBL,FILEN+1;

取文件名长度

MOVBH,0;

BX中装入文件名长度

MOVFILEN[BX+2],BYTEPTR0;

文件名末尾添加0

LEADX,FILEN+2;

指向文件名

MOVAL,0;

以只读方式打开

MOVAH,3DH;

3DH功能调用,打开文件

JCOPERR;

打开出错,转OPERR,CF=1则跳转

MOVBX,AX;

转存文件号

RDFILE:

LEADX,BUFIN;

DX指向缓冲区

MOVCX,50H;

每次读80个字节

MOVAH,3FH;

3F功能调用,读文件

JCRDERR;

CF=1则跳转,读出错,转RDERR

ORAX,AX;

读入的字节数是否为0

JZCLFILE;

若为AX为0,转CLFILE

MOVDL,0DH;

输出回车

MOVDL,0AH;

输出换行,准备显示文件内容

MOVSI,0

DISP0:

MOVAL,BUFIN[SI];

从缓冲区送一个字节到AL

CMPAL,EOF;

是否为文件结束符

若是,转CLFILE

MOVDL,AL;

显示一个字符

MOVAH,2

INCSI;

指向下一个字节

LOOPDISP0

JMPRDFILE;

再去读50H个字节

RDERR:

LEADX,ERRRD;

显示读文件出错的信息

JMPDISP1

OPERR:

LEADX,ERROP;

显示打开文件出错的信息

DISP1:

MOVAH,09H

JMPENDO

CLFILE:

MOVAH,3EH;

3EH功能调用,关闭文件

ENDO:

MOVAH,4CH;

退出

7、响铃设计:

DATA1DB'

Inputnumber1-9,quitwithZero(0)'

DISPP1DB0DH,0AH,'

回车与换行

DISPP2DB'

_Wrongnumber,pleaseinputagainorquitwithZero(0)'

LEADX,DISPP1

LEADX,DATA1

MOVAH,1;

CMPAL,30H;

CMPAL,39H

ANDAL,0FH;

取低四位

CMPAL,0

JEOVER

MOVCL,AL

L3:

MOVDL,07H;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2