微机原理课程设计报告Word格式.docx
- 文档编号:17628901
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:167.98KB
微机原理课程设计报告Word格式.docx
《微机原理课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计报告Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
plaeseinputthesecondstring:
st2db100
s3db0ah,'
matah'
s4db0ah,'
nomatch'
;
此处输入数据段代码
DATASENDS
STACKSSEGMENT
此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
movdx,offsets1;
显示提示信息1
movah,9h
int21h
movdx,offsetst1;
接收键入的字符串1
movah,0ah
movdx,offsets2;
显示提示信息2
movdx,offsetst2;
接收键入的字符串2
movsi,offsetst1;
字符串1的地址送给SI
movdi,offsetst2;
字符串2的地址送给DI
movax,0
lp1:
movbl,[si+1];
字符串1的字符数送给bl
cmpbl,[di+1];
字符串2的字符数与字符串1相比较
jnzlp4;
不等转lp4
moval,[si+1]
movcx,ax;
给cx赋字符串1的字符数
lp2:
movbl,[si+2];
字符串1的第一个字符在字符串2中匹配
cmpbl,[di+2]
jnzlp4
incsi
incdi
looplp2;
循环cx内容减1,cx不等于0,继续循环,跳转lp2
lp3:
movdx,offsets3
jmpnext
lp4:
movdx,offsets4
此处输入代码段代码
next:
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
4、结果:
5、心得
要先比较字符串的长度,前面要先分别定义match和no match,并且应该保留足够的字节空间。
任务二:
字符和数据的显示设计
为掌握字符和数据的显示方法。
编写程序,先显示信息:
INPUT STRING,THEENDFLAGIS$,在接受字符。
如为0-9,则计数器加1,并显示数据;
如为非数字,则直接显示,但不计数。
DATASEGMENT
DATA1DB40DUP(?
)
DISPP1DB'
inputstring,theendflagisCR,quitwithctrl-c'
0DH,0AH,'
DISPP2DB0DH,0AH,'
DISPP3DB'
theinputstringis:
DATAENDS
DATA;
规定CS,DS的内容
MOVAX,DATA
MOVDS,AX;
DS初始化为DATA
L5:
MOVSI,00H
MOVCL,00H;
寄存器清零
MOVBX,OFFSETDATA1;
把DATA1偏移地址放入BX中
LEADX,DISPP1
MOVAH,9
INT21H;
调用int21的09功能,输出字符串
L1:
MOVAH,1
从键盘输入字符,放入AH中
CMPAL,03H
JZL4;
如果是结束字符,则程序结束并返回
CMPAL,0DH
JZL3;
如果输入是回车,则转到L3程序
MOV[BX+SI],AL;
AL中值放入BX中,SI所指向的地址中
INCSI;
SI自加1
CMPAL,30H
JNBkk
JMPL1
kk:
CMPAL,39H
JNAL2
L2:
INCCL
JMPL1;
如果输入不在'
1'
到'
9'
范围内,则转到L1程序
L3:
LEADX,DISPP2
LEADX,DISPP3;
取DISSP3首地址送到DX中
INT21H;
ADDCL,30H
MOV[BX+SI+1],CL;
AL中值放入BX中,SI所指向的地址中
MOVAL,0AH
MOV[BX+SI+2],AL;
AL中值放入BX中,SI+1所指向的地址中
MOVAL,'
MOV[BX+SI+3],AL;
AL中值放入BX中,SI+2所指向的地址中
MOVDX,BX
MOVAH,9
显示BX中值
LEADX,DISPP2
JMPL5
L4:
MOVAH,4CH;
结束处理
调用int21的4cH功能,终止当前程序并返回调用程序
4、结果
适当的运用cmp,
任务三:
响铃设计
编写程序,从键盘接受输入字符,如是数字N,则响铃N次;
如不是数字,则不响。
DATA1DB'
inputnumber1-9,quitwithctrl-c'
DISPP1DB0DH,0AH,'
DISPP2DB'
wrongnumber,pleaseinputagainorquitwithctrl-c'
DATASENDS
MOVDS,AX
LEADX,DATA1
MOVAH,9
INT21H
MOVDL,0AH
MOVAH,2
MOVAH,1
INT21H
CMPAL,'
JZL4
CMPAL,31H
JLL5
CMPAL,39H
JGL5
jmpL6
L5:
INT21H
jmpl1
L6:
MOVBL,AL
SUBBL,30H
MOVDL,7
MOVAH,2
INT21H
MOVCX,0FFFH
MOVDX,CX
MOVCX,0FFFFH
LP:
LOOPLP
MOVCX,DX
LOOPL3
DECBL
JNZL2
JMPL1
前面要首先定义,输入正确的和输入错误的不同转向语句,并且要给响铃延长时间,用CX来确定响铃的次数。
任务四:
将键盘输入的小写字母转换成大写字母的设计
为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。
编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
BUFDB82DUP(?
);
DISPP1DB'
Pleaseinputstring(endwithenter,exitwithctrl-c):
0dH,0aH,'
Theconvertedstringis:
0DH,0AH,'
DISPP3DB0DH,0AH,'
DATAS;
MOVDS,AX;
DS初始化为DATAS
MOVES,AX
MOVBX,OFFSETBUF;
把BUF偏移地址放入BX中
LEADX,DISPP1
调用int21的09功能,输出字符串1
KKK:
MOVSI,00H;
源变址寄存器清零
GGG:
MOVAH,01H
从键盘输入字符,放入AL中
JZPPP;
JZBBB;
如果输入是回车,则转到BBB程序
CMPAL,61H
JBTTT;
CMPAL,7AH
JATTT;
a'
z'
范围内,则转到TTT程序
SUBAL,20H;
AL中值减去20H
TTT:
MOV[BX+SI],AL;
SI自减1
JMPGGG;
无条件跳转到GGG
BBB:
取DISSP3首地址送到DI中
调用int21的09功能,输出字符串3
MOV[BX+SI],AL;
MOVAL,0AH;
AL置为0AH
MOV[BX+SI+1],AL;
AL中值放入BX中,SI+1所指向的地址中
AL中值放入BX中,SI+2所指向的地址中
MOVAH,09H
MOVDX,BX
显示BX中值
LEADX,DISPP3
JMPKKK;
PPP:
MOVAH,4CH
5、心得:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 报告