《微机原理》课程设计报告.docx

上传人:b****6 文档编号:6981536 上传时间:2023-01-14 格式:DOCX 页数:16 大小:166.21KB
下载 相关 举报
《微机原理》课程设计报告.docx_第1页
第1页 / 共16页
《微机原理》课程设计报告.docx_第2页
第2页 / 共16页
《微机原理》课程设计报告.docx_第3页
第3页 / 共16页
《微机原理》课程设计报告.docx_第4页
第4页 / 共16页
《微机原理》课程设计报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

《微机原理》课程设计报告.docx

《《微机原理》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《微机原理》课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。

《微机原理》课程设计报告.docx

《微机原理》课程设计报告

《微机原理》课程设计报告

班级:

姓名:

学号:

一、目的

结合微机原理课程的学习,进一步巩固所学只是,掌握汇编语言的编程要领,熟悉汇编程序上机过程以及进行程序调试。

二、设计任务,程序清单,流程图

任务1(具体题目要求):

字符串匹配设计

为掌握提示信息的设置方法及读取键入信息的方法。

编写程序实现两个字符串比较。

如相同,则显示:

“MATCH”,否则,则显示“NOMATCH”

程序清单:

DATASEGMENT

INPUT1DB'INPUTSTRING1!

',0DH,0AH,'$'

INPUT2DB'INPUTSTRING2!

',0DH,0AH,'$'

MATDB0DH,0AH,'MATCH!

$'

MISMATDB0DH,0AH,'NOMATCH!

$'

LEN1DB20

STRING1DB20DUP(?

LEN2DB20

STRING2DB20DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

MAINPROCFAR

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAH,09H

MOVDX,OFFSETINPUT1

INT21H

MOVAL,LEN1

MOVBX,OFFSETSTRING1

MOV[BX],AL

MOVAH,0AH

MOVDX,OFFSETSTRING1

INT21H

CALLCRLF

MOVAH,09H

MOVDX,OFFSETINPUT2

INT21H

MOVAL,LEN2

MOVBX,OFFSETSTRING2

MOV[BX],AL

MOVAH,0AH

MOVDX,OFFSETSTRING2

INT21H

CALLCRLF

CLD

LEASI,STRING1

LEADI,STRING2

MOVCX,5

REPECMPSB

JNENOMAT

MOVAH,9

MOVDX,OFFSETMAT

INT21H

JMPEXIT

NOMAT:

MOVAH,9

LEADX,MISMAT

INT21H

EXIT:

MOVAH,4CH

INT21H

CRLFPROCNEAR

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

RET

CRLFENDP

MAINENDP

CODEENDS

ENDMAIN

流程图:

…….

任务2(具体题目要求)

将键盘输入的小写字母转换为大写字母的设计

为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。

编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。

程序清单:

CRLFMACRO

MOVDL,0DH

MOVAH,02H

INT21H

MOVAH,02H

MOVDL,0AH

INT21H

ENDM

DATASEGMENT

INPUT1DB100

DB0

DB100DUP('$')

MES1DB'PleaseInputaString:

',0DH,0AH,'$'

MES2DB'TheOutputIs:

',0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

TISHI:

MOVAH,09H

MOVDX,OFFSETMES1

INT21H

INPUT:

MOVDX,OFFSETINPUT1

MOVAH,0AH

INT21H

CRLF

MOVCX,00H

MOVCL,[INPUT1+1]

LEASI,[INPUT1+2]

NEXT:

CMPBYTEPTR[SI],'a'

JBCONT

CMPBYTEPTR[SI],'z'

JACONT

SUBBYTEPTR[SI],20H

CONT:

INCSI

LOOPNEXT

TISHI1:

MOVAH,09H

MOVDX,OFFSETMES2

INT21H

OUTPUT:

LEADX,[INPUT1+2]

MOVAH,09H

INT21H

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

流程图:

任务3(具体题目要求)

键盘输入数据并显示的设计

为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。

编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。

程序清单:

CRLFMACRO

MOVAH,02H

MOVDL,0DH

INT21H

MOVAH,02H

MOVDL,0AH

INT21H

ENDM

DATASEGMENT

MES1DB'PleaseInputThenumber:

$'

MES2DB'TheResultAre:

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MAINPROCFAR

START:

MOVAX,DATA

MOVDS,AX

TISHI:

MOVDX,OFFSETMES1

MOVAH,09H

INT21H

CRLF

MOVBX,0

MOVCX,4

INPUT:

movAh,07H

INT21H

CMPAL,48

JBINPUT

CMPAL,57

JNATRANS

CMPAL,97

JBINPUT

CMPAL,102

jAINPUT

JMPENG

TRANS:

MOVDL,AL

MOVAH,02H

INT21H

SUBAL,30H

JMPFBI

ENG:

MOVDL,AL

MOVAH,02H

INT21H

SUBAL,57H

FBI:

CBW

XCHGAX,BX

MOVDX,16

MULDX

XCHGAX,BX

ADDBX,AX

LOOPINPUT

CRLF

DISP:

LEADX,MES2

MOVAH,09H

INT21H

CRLF

MOVCX,16

BINARY:

TESTBX,8000H

JNZXONE

MOVDL,'0'

MOVAH,02H

INT21H

JMPNEXT

XONE:

MOVDL,'l'

MOVAH,02H

INT21H

NEXT:

SHLBX,1

LOOPBINARY

CRLF

EXIT:

MOVAH,4CH

INT21H

MAINENDP

CODEENDS

ENDSTART

流程图:

任务4(具体题目要求)

为掌握字符和数据的显示方法。

编写程序,先显示信息:

INPUTSTRING,THEENDFLAGIS$,再接收字符。

如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数。

程序清单:

CRLFMACRO

MOVAH,02H

MOVDL,0DH

INT21H

MOVAH,02H

MOVDL,0AH

INT21H

ENDM

DATASEGMENT

MESDB'INPUTSTRING,THEENDFLAGIS$!

'

MES1DB'TheDataNunmberCountIs:

$'

NUMDB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

TISHI:

LEADX,MES

MOVAH,09H

INT21H

CRLF

INPUT:

MOVAh,01H

INT21H

CMPAL,'$'

JZDISP

CMPAL,48

JBNEXT

CMPAL,57

JANEXT

INCNUM

NEXT:

JMPINPUT

DISP:

CRLF

TISHI1:

LEADX,MES1

MOVAH,09H

INT21H

CRLF

MOVAL,NUM

MOVBL,AL

MOVCL,4

ROLAL,CL

ANDAL,0FH

ADDAL,30H

CMPAL,39H

JBEK1

ADDAL,7

K1:

MOVDL,AL

MOVAH,02H

INT21H

ANDBL,0FH

ADDBL,30H

CMPBL,39H

JBEK2

ADDBL,7

K2:

MOVDL,BL

MOVAH,02H

INT21H

MOVDL,'H'

MOVAH,02H

INT21H

CRLF

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

流程图:

任务5(具体题目要求)

为掌握字符和数据的显示方法。

编写程序,先显示信息:

INPUTSTRING,THEENDFLAGIS$,

再接收字符。

如为0-9,则计数器加一,并显示数据;如为非数字,则直接显示,但不计数。

程序清单:

CRLFMACRO

MOVDL,0DH

MOVAH,02H

INT21H

MOVAH,02H

MOVDL,0AH

INT21H

ENDM

DATASEGMENT

MESDB'PleaseInputANumber,PressCToExit:

','$'

MES1DB'TheInputIsNotANumber,PleaseInputAgain:

','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMES

MOVAH,09H

INT21H

CRLF

L3:

MOVAH,01H

INT21H

CMPAL,'C'

JEEXIT

CMPAL,30H

JBL2

CMPAL,39H

JAL2

ANDAL,0FH

CMPAL,0

JEEXIT

MOVBL,AL

L1:

MOVDL,07H

MOVAH,02H

INT21H

CALLDELAY

DECBL

JNZL1

JMPL3

CRLF

EXIT:

MOVAH,4CH

INT21H

L2:

CRLF

MOVDX,OFFSETMES1

MOVAH,09H

INT21H

JMPL3

DELAYPROCNEAR

MOVDX,02FFFH

K2:

MOVAX,0FFFFH

K1:

DECAX

NOP

JNZK1

DECdx

JNZK2

RET

DELAYENDP

CODEENDS

ENDSTART

流程图:

三、小结

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

当前位置:首页 > 高等教育 > 院校资料

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

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