昆明理工微机原理课程作业付丽霞Word文档格式.docx
《昆明理工微机原理课程作业付丽霞Word文档格式.docx》由会员分享,可在线阅读,更多相关《昆明理工微机原理课程作业付丽霞Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
◆3个字节:
11H,22H,33H
◆2个字:
1122H,33H
◆一个字符串string:
Thisisabook.
提示:
DATASEGMENT
DB11H,…
结果:
DB11H,22H,33H
DW1122H,33H
DB‘Thisisabook’,’$’
二、要求上机调试的程序:
*1、编程实现:
从XX单元开始的10个连续单元中存放有10个无符号字节型数据,从中找出最大值送入MAX单元中。
◆1、比较次数(即循环次数)已知。
◆2、数据两两比较9次即可。
程序代码:
XXDB29H,21H,38H,92H,57H,20H,55H,73H,88H,66H
YYDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,LENGTHXX
LEASI,XX
MOVAL,[SI]
LOOP1:
INCSI
CMPAL,[SI]
JNBDONE
XCHGAL,[SI]
DONE:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
调试过程:
运行结果:
2、编程将一个包括有20个字的数组中的正负数分开,正负数个数分别存放在MM和NN单元中,正负数据分别存放于MM及NN后面的单元。
*3、定义一条宏指令,它可以实现任一数据块的传送(假设无地址重迭),只要给出源和目的数据块的首地址以及数据块的长度即可,给出一个使用该宏调用进行数据块传送的编程。
*4、子程序结构:
编制一个能响铃5次的子程序。
◆DOS的显示功能调用,响铃的ascii码为07.
RINGPROCNEAR
DATASSEGMENT
DA1EQU05
DATASENDS
STACKSSEGMENT
STA1DB100
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
MOVAX,DATAS
MOVDS,AX
MOVCL,DA1
RINGPROCNEAR
MOVAH,02
MOVDL,07
DECCL
JNZRING
RINGENDP
CODESENDS
响铃5次
…
*5、分支结构:
从键盘接收一个字母并显示,若为大写字母,则显示“Thisisacapitalletter.”,若为小写字母则显示“Thisisasmallletter”.
◆提示:
DOS功能调用从键盘接收一个字母。
◆判断大小写,然后分支
◆字符串的显示:
DOS的9号功能调用。
DA1DB'
Thisisacapitalletter.'
'
$'
DA2DB'
Thisisasmallletter.'
'
movAH,01
SUBAL,61H
JSDA
JNSXIAO
DAPROCNEAR
MOVAH,09H
MOVDX,OFFSETDA1
DAENDP
XIAOPROCNEAR
MOVDX,OFFSETDA2
XIAOENDP
*6、循环结构:
要求从键盘接收一个个位数N,然后在屏幕上显示N个数字0.
1号功能调用从键盘接收一个数字。
◆循环显示N个0.
DATASSEGMENT
NDB'
?
'
MOVAH,01
SUBAL,30H
MOVCL,AL
MOVDL,0DH
MOVAH,02H
MOVDL,0AH
XIANSHIPROCNEAR
MOVDL,30H
JNZXIANSHI
XIANSHIENDP
ENDSTART