微机实验.docx
《微机实验.docx》由会员分享,可在线阅读,更多相关《微机实验.docx(15页珍藏版)》请在冰豆网上搜索。
微机实验
微机上机实验操作指南
1、进入子目录MASM
⑴、C:
\>CDMASM进入子目录MASM。
⑵、C:
\MASM>DIR查阅MASM.EXE和LINK.EXE文件是否存在。
2、编辑源文件
用EDIT全屏幕编辑软件编辑你的汇
编语言程序源文件。
注意:
存盘时汇编
语言源文件格式为:
文件名.ASM
3、编译源文件
用MASM编译软件编译你的汇编语言源程序,生成.OBJ文件。
命令格式:
MASM文件名;
若有错,再进入EDIT修改你的源文件,然后再编译,没错则进入下一步。
4、连接.OBJ文件
用LINK连接软件连接你的.OBJ文件,生成.EXE文件。
命令格式:
LINK文件名;
5、调试.EXE文件
用DEBUG调试软件调试你的.EXE文件。
命令格式:
DEBUG文件名.EXE
出现提示符“-”后,可键入U、T、P、G、R、D、E、Q等常用调试命令。
6、常用DEBUG命令
⑴、U(n)反汇编命令
从地址偏移量n开始,将.EXE文件返汇编成源文件,n省略时,从当前地址开始。
注意:
只反汇编可执行语句,不可执行的数据段和堆栈段不能反汇编。
⑵、T、P单步运行命令
只执行当前一条指令,用T或P,若运行n条指令,可用Tn或Pn.
注意:
T和P的区别:
对于中断调用INTn和CALL过程调用,T命令可进入其内部,P命令则不能,P命令把INT、CALL指令作为一条可执行语句单步运行。
⑶、G=地址1,地址2连续运行命令
从地址1语句开始执行到地址2语句
结束。
(地址2所在语句不执行)
⑷、R(寄存器)寄存器查看、修改命令
键入R回车,显示所有寄存器当前状态值。
键入R寄存器(例:
RAX)回车,可修改寄存器的内容。
先显示寄存器的内用,然后可键入数据。
⑸、DDS:
n显示数据段命令
从偏移地址为n开始显示,注意:
必须在程序执行完将数据段的地址赋值给DS的语句后才能用此命令查看你的数据段,也可用DSS:
n查看堆栈段。
⑹、EDS:
n修改数据段内存数据命令
修改数据段内存中地址偏移量为n的单元的内容。
⑺、Q退出DEBUG命令
附:
PSW中的标志位
标志名
1
0
OF溢出(是/否)
OV
NV
DF方向(减/增)
DN
UP
IF中断(开/关)
EI
DI
SF符号(负/正)
NG
PL
ZF零(是/否)
ZR
NZ
AF辅助进位(是/否)
AC
NA
PF奇偶(偶/奇)
PE
PO
CF进位(是/否)
CY
NC
微机实验
实验1两个多位十进制数相加的实验
一、实验目的
1.学习数据传送和算术运算指令的用法。
2.熟悉在Pc机上建立、汇编、链接、调试和运行8086汇编语言程序的过程。
二、实验内容
将两个多位十进制致相加.要求被加数均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处
三、参考流程
实验2两个数相乘的实验
一、实验目的
掌握乘法指令和循环指令的用法。
二、实验内容
实现十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,乘积在屏幕
上显示出来。
三、参考流程
实验3BCD码相乘的实验
一、实验目的
掌握用组合的BCD码表示数据.并熟悉怎样实现组合BCD码乘法运算。
二、实验内容
实现BCD码的乘法,要求被乘数和乘数以组合的BCD码形式存放,各占一个内存单
元.乘积存放在另外两个内存单元中。
提示:
由于没有组合的BCD码乘法指令,程序中采用将乘数1作为计数器,累加另一个乘数的方法得到计算结果。
三、参考流程
实验4字符匹配实验
一、实验目的
掌握8086的串操作指令的使用方法。
二、实验内容
用串操作指令设计程序.实现在存储区(长度为100H)中寻找空格字符(20H)。
时给出信息以表明是否找到。
三、编程提示
1、8086中用于字符串检索的指令为SCASB/SCASW,用AL中的字节或者Ax中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。
在检索指令前加上前缀,可以设计程序实现在DI所指的字符串中,寻找第一个与AL(或AX)的内容相同(或不同)的字节(或字)。
2、对于所有的串操作指令,都要注意方向标志的设置。
指令CLD使方向标志DF清0,SI和DI自动增量修改。
指令STD使DF置1,SI和DI作自动减量修改。
3、参考流程
主程序参考流程
GETNUM子程序参考流程
实验5字符串匹配实验
一、实验目的
掌握提示信息的设置方法及读取键盘输入信息的方法。
二、实验内容
编写程序,实现两个字符串比较。
如相同,则显示“MATCH”,否则,显示“NOMATCH”。
三、参考流程
实验6从键盘输入数据并显示的实验
一、实验目的
掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。
二、实验内容
编写程序.将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终上。
三、参考流程
实验7字符和数据的显示实验
一、实验目的
掌握字符和数据的显示方法。
二、实验内容
先显示信息:
INPUTSTRING,THEENDFLAGIS$,再接收字符。
如为0~9,则
计数器加1,并显示数据;如为非数字,则直接显示,但不计数。
三、参考流程
实验8响铃实验
一、实验目的
掌握响铃符的使用方法。
二、实验内容
从键盘接收输入字符加是数字N,则响铃N次;如不是数字,则不响。
三、参考流程
实验9接收年、月、日信息并显示的实验
一、实验目的
掌握响铃符使用方法,并掌握年、月、日输入方法。
二、实验内容
先显示“WHATISTHEDATA(MM/DD/YY)?
”并响铃一次.然后接收键盘输入的月/日/年信息,并显示。
三、参考流程
实验l0将键盘输入的小写字母转换成大写字母的实验
一、实验目的
了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。
二、实验内容
接收键盘字符(以Ctrl_C为结束),并将其中的小写字母转变为大写字母,然后显示在屏幕上。
三、参考流程
实验11排序实验
一、实验目的
掌握用汇编语言编写排序程序的思路和方法。
二、实验内容
从地址为1000H开始存放50个数,要求设计程序将这些数有小到大排序,排序后的数,仍放在该区域。
三、参考流程
N
Y
N
Y
N
Y