8088微机原理及接口技术报告Word文档下载推荐.docx
《8088微机原理及接口技术报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《8088微机原理及接口技术报告Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
(4)掌握多字节加减法程序的编写。
2.实验目的:
(1).掌握8086/8088汇编程序及调试程序的基本使用方法;
(2)熟悉8086/8088汇编语言编写的基本结构;
(3)熟悉多字节加减算术运算的基本方法。
二、原理(条件)
1.相关知识:
(1)MASM汇编程序及TD调试软件的使用方法;
(2)8086/8088汇编程序结构及算术运算等相关指令。
2.实验条件:
MASM汇编程序及TD调试软件。
三、内容步骤
1.启动TD(TurboDebugger)输入程序段,观察执行情况并分析结果:
(1)MOVBL,08HMOVCL,BLMOVAX,03FFHMOVBX,AXMOV[0200H],BXMOVES:
[0300H],AX
(2)MOVAX,0A268HMOVSI,9D1CHADDAX,SI
AX=3F84HCF=1AF=1ZF=0PF=1OF=1SF=0ADDAL,30H
AX=3FB4HCF=0AF=0ZF=0PF=1OF=0SF=1
ADCAX,0FFFFH
AX=3FB3HCF=1AF=1ZF=0PF=0OF=0SF=0
分析:
第一个是两个字相加,第二个是两个字节相加,第三个是两个字带进位相加,AX内结果改变的同时,FLAGS标志位也相应发生变化。
(3)输入程序段,分步运行:
MOVAX,0102HMOVBX,0304H
MOVCX,0506H
MOVDX,0708HPUSHAXPUSHBXPUSHCXPUSHDXPOPDXPOPCXPOPBXPOPAX
该段程序是对栈的操作,将AX,BX,CX,DX先后栈之后再出栈,观察到进栈出栈时栈内变化及SP指针值的变化。
2.编写多字节加/减汇编程序,观察执行情况并分析结果利用MASM宏汇编程序及TD程序进行调试。
(1)编写多字节加法汇编程序:
DATA*****
*****DB4FH,0B6H,7CH,34H,56H,1FH*****DB13H,24H,57H,68H,0FDH,9AHSUMDB6DUP(?
)CONTDB3DATAENDS
CODE*****
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATAMOVDS,AX
MOVSI,OFFSET*****MOVDI,OFFSET*****MOVBX,OFFSETSUMMOVCL,CONTMOVCH,0
CLC
GOON:
MOVAX,[SI]SBBAX,[DI]INCSIINCSIINCDIINCDI
MOV[BX],AXINCBXINCBX
LOOPGOONMOVAH,4CHINT21H
CODEENDSENDSTART
(2)编写多字节减法汇编程序:
(3)3.编写多字节加/减汇编程序时,考虑最高字节相加或相减时产生进
位或借位程序应如何编写?
请思考。
四、数据处理(现象分析)1、使用TD输入程序结果
(1)
通过TD观察到执行一段程序相应的单元就跟着改变,将AX单元的值给BX单元,再将BX单元的值送入DS段中的[0200H]单元,最后将AX单元内容送入到ES段中偏移地址是[0300H]单元内。
(2)MOVAX,0A268HMOVSI,9D1CHADDAX,SI
AX=3F84HCF=1AF=1ZF=0PF=1OF=1SF=0
ADDAL,30H
MOVAX,0102HMOVBX,0304HMOVCX,0506H
2、利用MASM宏汇编程序及TD程序进行调试结果:
(4)编写多字节加法汇编程序:
MOVSI,OFFSET*****MOVDI,OFFSET*****
MOVBX,OFFSETSUMMOVCL,CONTMOVCH,0
LOOPGOONMOVAH,4CHINT21HCODEENDSENDSTART
实验过程:
将程序另存为.ASM文件放在根目录MASM所在文件夹中,在命令
符运行窗口输入CD\\--CD\\MASM\\--文件名.ASM--生成.OBJ文件,如无错误,则继续执行指令LINK,生产.EXE可执行文件,在TD内找到生成的可执行文件,设置中断之后运行,观察结果。
加法:
(5)编写多字节减法汇编程序:
将上述程序中的ADDAX,[DI]改为SBBAX,[DI]即可完成减法运算。
减法:
3、编写多字节加/减汇编程序时,考虑最高字节相加或相减时产生
进位或借位程序应如何编写?
在ADDAX,[DI]后加ADCAH,0减法:
在SBBAX,[DI]后加SBBAH,1
五、结论
简单的字母和数字组合成的代码变成了计算机可以认识的机器语言,汇编语言是计算机最低层同时也是最难的语言。
通过TD和MASM将代码变成计算机可执行的文件,模拟计算机内部的运行过程,达到目标结果。
六、参考资料
《微机与接口技术》实验指导书
七、评语
实验二屏幕字符显示程序
一、任务与目的
(1)熟悉和掌握利用DOS调用进行屏幕显示的方法;
(2)掌握屏幕字符显示程序的编写。
(1)熟悉字符串表示的语法结构;
(2)熟悉利用DOS调用编写字符屏幕显示的基本程序。
2.相关知识:
(1)字符串显示格式;
(2)熟悉DOS调用使用方法。
1.编写程序在屏幕上显示“姓名拼音+学号”,观察执行
情况并分析结果。
2、编写程序从键盘输入一字符串,在字符串尾插入“$”,并显示该字符,观察执行情况并分析结果。
四、数据处理(现象分析)实验程序及结果如下:
STRINGDB'
liuyuying,***-**********,haveaniceday!
'
0DH,0AH,'
$'
DATAEND
DATASTART:
MOVAX,DATAMOVDS,AXLEADX,STRING
MOVAH,09H;
显示字符串功能号INT21H;
系统功能调用
MOVAH,4CH;
终止当前程序,返回调用程序INT21HCODEENDS
ENDSTART
通过调用功能号09H显示字符串
DATA**********DB40ACTLENDB?
CHARSDB40DUP(20H)DATAENDS
MOVAX,DATAMOVDS,AX
MOVDX,OFFSET*****MOVAH,0AHINT21HXORCX,CX
MOVCL,ACTLEN
MOVDX,OFFSETCHARSMOVBX,DXADDBX,CX
MOVBYTEPTR[BX+2],'
MOVAH,09HINT21H
MOVAH,4CHINT21HCODEENDS
定义字节类型变量*****,占40个字节单元,定义字节型变量
ACTLEN为任意值存放实际输入字符数,定义字节型变量CHARS存放输入的字符串,占40个字节单元,初始值为20H,DX指向*****的偏移地址,调用功能号0AH获得从键盘输入的字符串,将CX内容清零后将ACTLEN中的内容给CL得到字符串中字符的个数,将DX内容给BX,BX与CX内容相加存入BX得到字符串尾地址,在BX+2处插入字符’$’,调用功能号显示从键盘输入的字符串。
要在显示器上显示字符串,调用DOS功能的09H功能号,要实现调用还必须以’$’字符作为结束符。
显示时在字符串结束前加上回车换行的ASCII码的0DH和0AH,在第二个实验中结果显示的第一个是所占字节单元的数所对应的ASCII码对应的字符,第二个是加上’$’在内的字符串中的字符数所对应的ASCII码,之后才是从键盘输入的字符串。
《微机原理与接口技术》实验指导书
实验三数据比较及排序程序
(1)熟悉和掌握数据比较指令的用法;
(2)掌握多字节有符号数及无符号数排序程序的编写方法。
2.实验目的
(1).掌握数据比较指令的使用方法;
(2)熟悉数据排序实现的基本方法。
3.相关知识:
(1)数据比较指令的使用方法;
(2)8086/8088汇编程序数据排序的基本算法。
1.启动TD(TurboDebugger)输入程序段,观察执行情况、标志位变化并分析
结果。
然后,AX和BX互换一下数据再运行一遍,并观察结果。
(1)无符号的比较MOVAX,2C76HMOVBX,0FF80HCMPAX,BX
JAEABOVE;
注意ABOVE由具体地址替代,下同。
XCHGAX,BXABOVE:
HLT
(2)带符号数的