8086实验指导书免费.doc
《8086实验指导书免费.doc》由会员分享,可在线阅读,更多相关《8086实验指导书免费.doc(25页珍藏版)》请在课桌文档上搜索。
1、实验一 系统认识实验一、 实验目的掌握TDN86/51教学系统的根本操作二、 实验设备TDN86/51教学实验系统一台三、 实验内容与步骤1 系统认识实验1(1) 程序的输入与修改从3500H内存单元开始建立0-15共16个数据。实验步骤a. 使用串行通讯电缆将实验系统与PC微机相连。b. 将位于线路板右下角的系统状态选择开关拨至86档,开启实验系统。c. 在系统软件所在目录下键入MD86,选择对应串口号,进入集成操作软件环境,出现系统提示符“。按下F1功能键,进入全屏幕编辑界面,按ALT+F建立新文件NEW,即可开始输入源程序。实验程序与流程如下:STACK SEGMENT STACK;80
2、88宏汇编程序DW 64 DUP(?);定义堆栈段STACK ENDSCODE SEGMENT;定义代码段ASSUME CS:CODESTART:MOV DI,3500H;程序开始设数据区首址MOV CX,0010H;字节数送入CX中MOV AX,0000HSAHFA1:MOV DI,AL;写入一字节INC DI;修改地址指针INC AX;修改数据DAA;十进制调整LOOP A1;未填完转移A2:JMP A2CODE ENDS;代码段结束 END START;程序段结束d. 输入程序后,按F2保存程序规定扩展名为*.asm,使用ALT+X返回集成软件环境。e. 按F2,输入源程序名省略扩展名,
3、系统默认为.asm,对源程序进行汇编,生成目标文件*.obj与错误信息文件*.m。假设给出LST文件名那么生成相应*.lst文件。f. 汇编无误后,按F3输入文件名对汇编生成的*.obj文件进行连接,连接信息显示于屏幕上,生成相应*.exe可执行文件。g. 按F5,输入*.exe可执行文件名,填入程序段地址CS:0000与偏移地址IP:2000,PC开始将程序从磁盘装入到教学系统内存,提示装载完毕后使用U0000:2000命令进行反汇编,检查程序是否正确装入。显示信息键入信息U20002000 BF0035 MOV DI,3500U2003 B91000 MOV CX,0010Uh. 当发现源
4、程序输入错误或需要调整时,在调试界面下可用A命令来修改,如修改2000句为MOV DI,3500的操作如下:显示信息键入信息A20000000:2000 MOV DI,35000000:2003(2) 运行程序系统提供了单步运行、设断点运行、连续运行等方式,具体操作如下:a. 单步运行:其操作如下表,每运行一条指令后会显示下一条待执行指令并以蓝底白字显示变化存放器的内容,重复T或按F4键就可一步一步地运行,直至程序结束。b. 连续运行:在“提示符下键入G=0000:2000在系统默认段地址CS=0000情况下也可直接键入G=2000可连续运行程序,在运行过程中,可通过CTRL+C终止程序运行,
5、返回监控状态;也可通过CTRL+S暂停程序运行,按任意键继续。c. 断点运行:在程序中可用B命令定义断点,系统规定至多定义10个断点,例如:显示信息键入信息B0: 20211:上例中定义了2021地址为断点,每次键入GB=0000:2000程序连续运行至断点时,程序中断并显示当前各存放器内容。GB是G命令的扩充,表示含断点连续运行程序,断点仅当系统复位时去除。(3) 内存单元内容的显示:使用D=0000:3500可查看3500H-350FH单元中的内容是否为0-15共16个数。(4) 内存单元内容的修改:假设要修改某一单元内容,可进行如下操作,其中,“空格键用于向待编辑单元的高地址方向移动地址
6、,而“键那么向反方向移动地址;用来响应,就退出E命令。显示信息键入信息E35000000:35000 00_01space0000:35001 01_Space0000:35002 02_0000:35003 03_2 系统操作练习2将内存3500H单元开始的0-15共16个数据传递到3600H单元开始的数据区中。实验程序与流程如下:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV SI,3500H;建立源地址指针 MOV DI,3600H;建立目标地址指针MOV CX,0008H;字数送入
7、CX存放器中A1:MOV AX,SI;取源数据一字送入AX中MOV DI,AX;将源数据送入目标地址单元中INC SI;修正指针INC SIINC DIINC DIDEC CX;修改循环次数JNZ A1;判断是否传送完毕A2:JMP A2CODE ENDS;代码段结束 END START;程序段结束开始设数据源地址、目的地址、字节数取源数据一字到AX中AX送目标地址单元修改指针传完否?停机NYU实验步骤(1) 输入程序并检查无误,经汇编、连接后装入系统。(2) E3500,在3500-350F单元中分别送入00、01、02。(3) G=0000:2000,运行以上程序,按CTRL+C中断,返回
8、监控。(4) D3600,显示结果:360000 01 02 。实验二 数码转换编程与程序调试一、实验目的1. 掌握不同进制数与编码相互转换的程序设计方法,加深对数码转换的理解。2. 熟悉键盘使用方法。3. 熟悉调试程序的方法二、实验设备TDN86/51教学实验系统一台三、 实验内容与步骤计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图2-1所示,数码对应关系如
9、表2-1所示。图2-1 数码转换关系键盘光电机拨码开关数据开关CRT显示打印机多段显示位显示主机二进制ASCII码ASCII码ASCII码ASCII码段码BCD码二进制二进制表2-1 数码对应关系十六进制数BCD码二进制机器码ASCII码七段码共阳共阴00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H
10、18H67HA101041H08H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H1. 将ASCII码表示的十进制数转换为二进制数十进制表示为:1Di代表十进制数1,2,3,9,0;上式转换为:2由式2可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,那么可求出二进制数的结果。程序流程与参考程序如下:规定:被转换的ASCII码十进制数存放在3500H-3504H单元中,转换结果存在于3510H-3511H单元中。STACK SEGMENT STACKDW
11、 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV SI,3500HMOV DI,3510HMOV BX,000AHMOV CX,0004HMOV AH,00HMOV AL,SISUB AL,30HA1:IMUL BXADD AL,SI+01SUB AL,30HINC SILOOP A1MOV DI,AXA2:JMP A2CODE ENDS END START开始定义源、目标地址定义转换位数n加一位ASCII码减30H传完否?N-1CXNYU取第一位ASCII码减去30H乘10存结果并停机实验步骤(1) 输入程序并检查无误,经汇编、连
12、接后装入系统。(2) 在3500-3504H单元存入十进制数12的ASCII码,即E3500,并输入30 30 30 31 32。(3) G=0000:2000,运行以上程序,并用CTRL+C来中断程序,返回监控状态。(4) 用D3510查看结果,应为:3510 0C 00。(5) 反复试几组数,考察程序的正确性。2. 将十进制数的ASCII码转换为BCD码设从键盘输入的五位十进制数的ASCII码已存放在3500H起始的内存单元内,把它转换为BCD码后,再按位分别存入350AH起始的内存单元内。假设输入的不是十进制数的ASCII码,那么对应存放结果的单元内容为“FF。由表2-1可知,一字节AS
13、CII码取其低四位即变为BCD码。实验程序与流程如下:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV CX,0005H;循环计数器赋初值MOV DI,3500H;ASCII码首地址A1:MOV BL,0FFH;将错误标志送入BLMOV AL,DI;送ASCII码至ALCMP AL,3AH;比拟AL与3AH JNB A2;不低于3AH那么转A2SUB AL,30H;低于3AH那么取ASCII码低4位 A2;低于30H那么转A2MOV BL,AL;否那么AL内容送入BL,取代FFHA2:MOV
14、 AL,BL;结果或错误标志送入ALMOV DI+0AH,ALINC DILOOP A1A3:JMP A3CODE ENDS END START实验步骤(1) 输入程序并检查无误,经汇编,连接后装入系统。(2) 在3500-3504H单元中存放五位十进制数的ASCII码,即:E3500,并输入31 32 33 34 35。(3) G=0000:2000,运行以上程序。(4) 用D3510查看结果,显示结果应为:0000:350A 00 01 02 03 04 05 CC (5) 反复试几组数,考察程序的正确性。四思考题程序2将一个五位十进制数转换为二进制数十六位时,这个十进制数最小可为多少,最
15、大可为多少?为什么?实验三 运算类编程实验一、实验目的1掌握使用运算类指令编程与调试方法。2掌握运算类指令对各状态标志位的影响与其测试方法。二、实验设备TDN86/51教学实验系统一台三、实验内容与步骤8086/8088指令系统提供了实现加、减、乘、除运算的根本指令,可对表3-1所示的数据类型进行算术运算。表3-1 数据类型算术运算表数 制二进制BCD码带符号无符号组合非组合运算符+ - + -+ - 操作数字节、字、多精度字节二位数字字节一位数字开始被减数与减数首址SI结果首址DI数据位数CXNYU标志存放器清0SI ALAL-SI+2AL高4位置0DAS调整标志存放器内容入栈标志存放器内容
16、出栈存结果修改SI、DI结束CX=0?1十进制数的BCD码减法运算计算下X-Y=Z,其中,X、Y、Z均为BCD码。实验程序与流程如下:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTXDW ?;请在此处给X赋值YDW ?;请在此处给X赋值ZDW ?DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,00HSAHFMOV CX,0002HMOV SI,OFFSET XMOV DI,OFFSET ZA1: MOV AL,SI SBB AL
17、,SI+02HDASPUSHF00040201X350035013502350335103511地址存储器ZYAND AL,0FHPOPFMOV DI,ALINC DIINC SILOOP A1A2:JMP A2CODE ENDSEND START实验步骤(1) 输入实验程序并检查无误,经汇编,连接后装入系统。设CS:0000H,IP:2000H(2) 用U0000:2000查看MOV AX,XXXX(DATA)语句,即得到数据段段地址DS:XXXX。用E命令EXXXX:0000给X,Y赋值存入40和12的BCD码:00 04 02 01。(3) G=0000:2000,运行以上程序。(4)
18、DXXXX:0004,显示计算结果:08 02 CC 。(5) 反复试几组数,考察程序的正确性。四、 思考题 编写两个数值长度不等的BCD码相加的程序。实验四 分支程序设计实验一、实验目的1掌握分支程序的结构。2掌握分支程序的设计、调试方法。二、实验设备TDN86/51教学实验系统一台三、实验内容与步骤设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区称为源数据块传送到另一存储区成为目的数据块。源数据块和目的数据块在存储中可能有三种情况,如图4-1所示。源数据块目的数据块FFFFFH00000Ha00000HbFFFFFH源数据块目的数据块00000HcFFFFFH目的数据块源数据块
19、图4-1对于两个数据块别离的情况,如图4-1(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有局部重迭的情况,那么要加以分析,否那么重叠局部会因“搬移而遭破坏,可以得到以下结论:当源数据块首址目的块首址时,从数据块首地址开始传送数据。当源数据块首址DI?SISISI+1DIDI+1YUCXCX-1CX=0?NUYUCXCX-1CX=0?NUSTART:MOV CX,0010H;取搬家字节数16个字节MOV SI,3100H;取源块首址MOV DI,3200H;取目的块首址 CMP SI,DI;从首址开始?JA A2;是,转移ADD SI,CX;否,以末地址开始搬家ADD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 实验 指导书 免费

链接地址:https://www.desk33.com/p-21094.html