哈工程 微机原理实验 实验二Word下载.docx
- 文档编号:1324547
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:11
- 大小:228.13KB
哈工程 微机原理实验 实验二Word下载.docx
《哈工程 微机原理实验 实验二Word下载.docx》由会员分享,可在线阅读,更多相关《哈工程 微机原理实验 实验二Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
1.学习分支程序、循环结构程序的设计和调试方法;
2.掌握分支、循环等程序的基本结构。
3.通过循环指令、条件转移指令等完成较复杂程序的设计。
3.实验内容与实验步骤
3.1实验一
数据串搬家程序:
BUF1开始的16个以字为单位的数据搬移到BUF2。
编程流程图:
图1实验1的编程框图
程序源代码
DATASEGMENT
BUF1DW1111H,2222H,3333H,4444H,5555H,6666H,7777H,8888H,8888H,7777H,6666H,5555H,4444H,3333H,2222H,1111H
;
定义数组
BUF2DW16DUP(?
);
定义目标数组
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,16;
利用CX确定循环次数
MOVSI,OFFSETBUF1;
将BUF1的偏移地址赋给SI
MOVDI,OFFSETBUF2;
将BUF2的偏移地址赋给DI
KEEPUP:
MOVBX,[SI];
将BUF1中的数取出,赋给BX
MOV[DI],BX;
将BUF1中的数赋给BUF2
INCSI;
SI指向下一个数的地址
DI指向下一个数的地址
INCDI
LOOPKEEPUP
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
上机运行这段程序,可以得到如下结果。
图2实验1的编程结果
可以看出,内存中的BUF2位置已经被复制了BUF1的数据,证明程序运行正常,符合要求。
3.2实验二
将BUF1开始的16个以字为单位的数据中的正数搬移到BUF2。
图3实验2的编程框图
程序源代码:
BUF1DW1111H,2222H,3333H,4444H,8888H,9999H,0AAAAH,0BBBBH,
0123H,0234H,0345H,4567H,89ABH,8123H,8124H,8943H
)
MOVCX,16
MOVDI,OFFSETBUF1
MOVBX,OFFSETBUF2
MOVAX,[DI]
TESTAX,8000H
JZPOSITIVE
JMPGOON
POSITIVE:
MOV[BX],AX
INCBX
GOON:
运行程序,我得到了如下结果。
图4结果取出正数
正数结果已经取出。
3.3实验三
已知数据区STRINGA开始的存储单元中,存有用大写字母表示的自己姓名的全拼,将其转换成小写字母后,存放到STRINGB开始的存储单元中。
图5实验3的编程框图
STRINGADB'
ZHANGMENGLONG'
'
$'
STRINGBDB15DUP(?
MOVCX,15
MOVSI,OFFSETSTRINGA
MOVDI,OFFSETSTRINGB
MOVBX,[SI]
ADDBX,20H
MOV[DI],BX
INCSI
MOVAH,4CH
图6姓名大写拼音转为了小写拼音
3.4实验四
在题2的基础上继续编程,实现当从键盘输入’A’时,在屏幕上显示大写的名字,当输入’B’时,在屏幕上显示小写的名字。
图7实验4的编程框图
),'
MOVAH,01H;
等待输入
TESTAL,01H;
利用输入最后一位测试
JZNAM;
输入B,不为0继续
NUM:
MOVDX,OFFSETSTRINGA
MOVAH,9;
输出大写
JMPOVER
NAM:
MOVDX,OFFSETSTRINGB;
输入A为0输出小写
MOVAH,9
OVER:
图8当输入A时为大写,输入B时为小写
4.实验结果总结
通过实验,我对汇编语言的基本编程方法有了进一步理解。
同时,我对汇编语言之中的分支循环程序基本编程思路更加熟悉。
我也对基本DEBUG命令更加熟练了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工程 微机原理实验 实验二 工程 微机 原理 实验