实验四Word格式文档下载.docx
- 文档编号:18153060
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:11
- 大小:210.49KB
实验四Word格式文档下载.docx
《实验四Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验四Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
d
c
b
a
输入DCBA
1
0000
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
3.对实验内容1,七段数码管字型代码与输入的关系如下表:
四、参考流程图
1.实验内容一的参考流程图
图4-3
2.实验内容二的参考流程图
图4-4
五、参考程序
1.内容一的参考程序
源程序清单如下:
datasegment
ioportequ0c400h-0280h
io8255aequioport+288h
io8255bequioport+289h
io8255cequioport+28ah
io8255kequioport+28bh
leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
mesg1db0dh,0ah,'
Inputanum(0--9),otherkeyisexit:
'
0dh,0ah,'
$'
bzdb?
czdb04h
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,io8255k;
使8255的A口为输出方式
movax,80h
outdx,al
sss0:
movsi,offsetbz
movcx,04h
sss1:
movdx,offsetmesg1;
显示提示信息
movah,09h
int21h
movah,01;
从键盘接收字符
cmpal,'
0'
;
是否小于0
jlexit;
若是则退出
9'
是否大于9
jgexit;
subal,30h;
将所得字符的ASCII码减30H
mov[si],al;
存入显示缓冲区
incsi;
显示缓冲区指针加1
deccx;
判断输入满4个数字吗?
jnzsss1;
不满继续
movsi,offsetbz;
从显示缓冲区取第一个数字的BCD码
moval,[si]
andal,0fh;
屏蔽高四位暂存AL
incsi;
movah,[si];
取第二个数字的BCD码到AH
salah,4h;
右移4次到高四位
addal,ah;
两个BCD码合并成一个字节
movbl,al;
暂存入BL
incsi
moval,[si];
取第三个数字的BCD码
andal,0fh
incsi
movah,[si];
取第四个数字的BCD码到AH
salah,4h
addah,al
moval,ah
movdx,io8255a;
从8255的A口输出(后两个数字)
outdx,al
moval,bl
movdx,io8255b;
从8255的B口输出(前两个数字)
moval,0f0h
movdx,io8255c;
从8255的C口输出位码
movdl,0ffh
movah,06
int21h
jesss0;
有键按下则退出
exit:
movah,4ch;
返回
codeends
endstart
2.内容二的参考程序
ioportequ0C400h-0280h
io8255cequioport+28ah
io8255kequioport+28bh
io8255aequioport+288h
leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;
段码
buffer1db01h,02h,03h,04h,05h,06h,07h,08h;
存放要显示的十位和个位
condb?
位码
assumecs:
code,ds:
将8255设为A口C口输出
moval,80h
loop2:
moval,08h;
设置数码管位计数器初值到CON
movbyteptrcon,al
movsi,offsetbuffer1;
置显示缓冲器指针SI
movah,7fh;
置位码初值
disp0:
movcx,0ffffh
movbl,ds:
[si];
取显示缓冲区显示值存BX
movbh,0h
pushsi
movdx,io8255c;
位码从C口输出
moval,ah
outdx,al
movdx,io8255a
movsi,offsetled;
置led数码表偏移地址为SI
addsi,bx;
求出对应的led数码
moval,byteptr[si]
outdx,al;
段码从A口输出
disp1:
loopdisp1;
延时
movcx,0ffffh
disp2:
loopdisp2
rorah,01h;
位码右移1位
popsi
incsi;
moval,byteptrcon
decal
movbyteptrcon,al
jnzdisp0;
数码管位计数器减1为0吗?
,不为0继续
movdx,io8255a;
为0,关数码管显示
moval,0
jeloop2;
movah,4ch;
endstart
4.实验总结:
在这次的试验中,我们主要做的是验证性试验,首先我们将编写好的程序执行了一遍,但是发现输出的结果不是预想的,出现这个问题的原因是什么的,经过一番的思考后,发现是高低位的问题,后来通过调整线序,经过一番的调整后,结果输出正确了。
后来在经过研究代码后,发现不用调整连线顺序也可以解决问题,于是我就仔细的看代码,后来修改了代码,问题也同样解决了。
在本次的实验中我学会了解决问题的途径是多种的,我们应该学会变通,当然也增加了我阅读汇编程序的能力,锻炼了我的动手能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验