《微机原理》课程设计报告Word下载.docx
《《微机原理》课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《《微机原理》课程设计报告Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
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
CALLCRLF
MOVDX,OFFSETINPUT2
MOVAL,LEN2
MOVBX,OFFSETSTRING2
MOVDX,OFFSETSTRING2
CLD
LEASI,STRING1
LEADI,STRING2
MOVCX,5
REPECMPSB
JNENOMAT
MOVAH,9
MOVDX,OFFSETMAT
INT21H
JMPEXIT
NOMAT:
MOVAH,9
LEADX,MISMAT
EXIT:
MOVAH,4CH
CRLFPROCNEAR
MOVDL,0DH
MOVAH,2
MOVDL,0AH
RET
CRLFENDP
MAINENDP
CODEENDS
ENDMAIN
流程图:
…….
任务2(具体题目要求)
将键盘输入的小写字母转换为大写字母的设计
为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。
编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
CRLFMACRO
MOVAH,02H
ENDM
INPUT1DB100
DB0
DB100DUP('
MES1DB'
PleaseInputaString:
MES2DB'
TheOutputIs:
START:
TISHI:
MOVDX,OFFSETMES1
INPUT:
CRLF
MOVCX,00H
MOVCL,[INPUT1+1]
LEASI,[INPUT1+2]
NEXT:
CMPBYTEPTR[SI],'
a'
JBCONT
z'
JACONT
SUBBYTEPTR[SI],20H
CONT:
INCSI
LOOPNEXT
TISHI1:
MOVAH,09H
MOVDX,OFFSETMES2
OUTPUT:
LEADX,[INPUT1+2]
ENDSTART
任务3(具体题目要求)
键盘输入数据并显示的设计
为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。
编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。
CRLFMACRO
MES1DB'
PleaseInputThenumber:
MES2DB'
TheResultAre:
MOVAX,DATA
MOVDX,OFFSETMES1
MOVBX,0
MOVCX,4
movAh,07H
CMPAL,48
JBINPUT
CMPAL,57
JNATRANS
CMPAL,97
JBINPUT
CMPAL,102
jAINPUT
JMPENG
TRANS:
MOVDL,AL
SUBAL,30H
JMPFBI
ENG:
SUBAL,57H
FBI:
CBW
XCHGAX,BX
MOVDX,16
MULDX
ADDBX,AX
LOOPINPUT
DISP:
LEADX,MES2
MOVCX,16
BINARY:
TESTBX,8000H
JNZXONE
MOVDL,'
0'
JMPNEXT
XONE:
l'
SHLBX,1
LOOPBINARY
MAINENDP
ENDSTART
任务4(具体题目要求)
为掌握字符和数据的显示方法。
编写程序,先显示信息:
INPUTSTRING,THEENDFLAGIS$,再接收字符。
如为0-9,则计数器加1,并显示数据;
如为非数字,则直接显示,但不计数。
CRLFMACRO
MESDB'
INPUTSTRING,THEENDFLAGIS$!
TheDataNunmberCountIs:
NUMDB0
LEADX,MES
MOVAh,01H
CMPAL,'
JZDISP
CMPAL,48
JBNEXT
CMPAL,57
JANEXT
INCNUM
JMPINPUT
LEADX,MES1
MOVAL,NUM
MOVBL,AL
MOVCL,4
ROLAL,CL
ANDAL,0FH
ADDAL,30H
CMPAL,39H
JBEK1
ADDAL,7
K1:
MOVDL,AL
ANDBL,0FH
ADDBL,30H
CMPBL,39H
JBEK2
ADDBL,7
K2:
MOVDL,BL
H'
任务5(具体题目要求)
INPUTSTRING,THEENDFLAGIS$,
再接收字符。
如为0-9,则计数器加一,并显示数据;
PleaseInputANumber,PressCToExit:
'
TheInputIsNotANumber,PleaseInputAgain:
MOVDX,OFFSETMES
L3:
MOVAH,01H
C'
JEEXIT
CMPAL,30H
JBL2
JAL2
ANDAL,0FH
CMPAL,0
JEEXIT
L1:
MOVDL,07H
CALLDELAY
DECBL
JNZL1
JMPL3
L2:
MOVDX,OFFSETMES1
DELAYPROCNEAR
MOVDX,02FFFH
MOVAX,0FFFFH
DECAX
NOP
JNZK1
DECdx
JNZK2
RET
DELAYENDP
三、小结