8086实验报告

合集下载

8086实现计算器实验报告

8086实现计算器实验报告

实验报告一、题目:数字计算器的汇编语言实现二、设计任务:利用8086微处理器,可编程并行通信接口芯片 8255A等相关器件在proteus中设计仿真一个简单数字计算器,利用8086汇编语言编写完成加、减、乘、除、幂运算、阶乘运算、求余运算等功能,能实现键盘十进制运算表达式的输入和显示,按“=”后输出十进制表示的运算结果。

三、需求分析:(一)根据数据的输入要求对键盘(本实验中用4X5按钮阵来代替键盘)的数据读取及运算符号读取进行定义,根据8255A的相关性质对其进行编程实现,使每一个按钮对应一个十以内的整数或者某一个运算符号。

(二)根据8255A的输出性质,选择输出端口,对其进行编程,8255A为8086微处理器与外部设备之间提供并行输入/输出的通道。

不用附加外部电路,并行接口是在多根数据线上,以数据字节/字与I/O设备交换信息。

(三)数据的显示有LED数码管显示,LED数码管有7个字符段和一个小数点段组成,每段对应一个二极管,当二极管点亮时,相应的的字符段点亮,可以进行数据的显示。

四、总体方案首先利用程序不断扫描所设的按钮键盘是不是有输入,如果没有就一直扫描,如果有就调用子程序进行判断,是数值则进行存储并同时进行显示,是运算符号等就调用相应的子程序进行操作,操作后则继续利用程序不断扫描键盘是不是有输入,从而实现部分十进制数的加、减、乘、除、幂运算、阶乘运算、求最大公约数的运算。

运算完成后根据程序将运算的结果储存到锁存器中并显示到LED显示器上。

五、硬件设计本次实验需要的元器件有:8086微处理器、可编程并行通信接口芯片8255A、输入输出锁存器74LS373、LED数码显示管、若干按钮组成的4X5矩阵按键、若干电阻、总线等。

1、8086微处理器当引脚接高电平时,CPU工作于最小模式。

此时,引脚信号24~31的含义及其功能如下:(1)IO/M:存储器、I/O端口选择控制信号。

信号指明当前CPU是选择访问存储器还是访问I/O端口。

计组8086指令格式实验报告

计组8086指令格式实验报告

编码16位模式32位模式操作)000AX EAX AL001CX ECX CL010DX EDX DL011BX EBX BL100SP ESP AH101BP EBP CH110SI ESI DH111DI EDI BHR/M字段受MOD字段控制。

若MOD=11,为寄存器方式,R/M字段将指出第二操作数所在寄存器编号。

MOD=00,01,10为存储器方式,R/M则指出如何计算存储器中操作数地址。

MOD与R/M字段组合的寻址方式见表3。

表3 各种MOD与R/M字段组合编码及有关地址的计算(16位地址模式下)MOD=11寄存器寻址MOD≠11存储寻址、有效地址的计算公式R/M W=1W=0R/M不带位移l量MOD=00带8位位移量MOD=01带16位位移量MOD=10 000AX AL000[BX+SI][BX+SI+D8][BX+SI+D16]001CX CL001[BX+DI][BX+DI+D8][BX+SI+D16]010DX DL010[BP+SI][BP+SI+D8][BP+SI+D16]011BX BL011[BP+DI][BP+DI+D8][BP+DI+D16]100SP AH100[SI][SI+D8][SI+D16]101BP CH101[DI][DI+D8][DI+D16]110SI DH110(直接寻址)[BP+D8][BP+D16]111DI BH111[BX][BX+D8][BX+D16]例如:指令MOV AH,[BX+DI+50H]。

代码格式如下。

OPCODE D W MOD REG R/M DISP—8100010 1 0 01 100 001 01010000指令码:8A6150H。

指令ADD DISP [BX] [DI],DX;DISP=4523H代码格式:OPCODE D W MOD REG R/M DISP—Lo DISP—Hi000000 0 1 10 010 001 00100011 01000101指令码为:01 91 23 45H。

8086微机原理实验报告

8086微机原理实验报告

8086微机原理实验报告实验名称:8086微机原理实验实验目的:1.深入了解8086微处理器的内部结构和指令系统。

2.掌握汇编语言的编程方法和技巧。

3.熟悉微机系统的输入输出操作原理。

4.掌握8086微机系统的调试方法和程序调试技巧。

实验器材:1.8086微处理器芯片2.Intel 8086学习板3.编程器4.示波器5.实验箱实验步骤:1.熟悉8086微处理器的内部结构和指令系统在开始实验前,首先需要熟悉8086微处理器的内部结构和指令系统。

通过阅读教材和讲义,了解到8086微处理器采用16位结构,具有4个寄存器组,支持16种不同寻址方式的指令。

熟练掌握常用的指令系统和汇编语言的编程方法。

2.设计并编制简单的汇编程序在熟悉8086微处理器的内部结构和指令系统后,我们开始设计并编制简单的汇编程序。

本实验中,我们编写了一个简单的汇编程序,用于实现两个数的加法操作,并将结果存储在内存中。

程序中使用了mov指令将操作数送入寄存器,add指令将它们相加,再用mov指令将结果存储到内存中。

程序流程图如下所示:a. 将第一个数送入累加器A中。

b. 将第二个数送入寄存器B中。

c. 执行add指令,将A和B相加,结果保存在A中。

d. 将结果存储到内存中。

e. 程序结束。

3.调试程序并进行测试在完成汇编程序的编写后,我们需要使用调试器对程序进行调试,并进行测试。

首先,将程序加载到学习板上进行调试。

在调试过程中,我们使用示波器观察各个信号的波形,以确定程序的正确性。

通过逐步单步执行程序并观察寄存器和标志位的变化,我们验证了程序的正确性。

接下来,我们使用输入设备输入两个数,并观察输出结果是否正确。

测试结果表明程序正确实现了两个数的加法操作。

4.总结体会和改进建议通过本次实验,我们深入了解了8086微处理器的内部结构和指令系统,掌握了汇编语言的编程方法和技巧,熟悉了微机系统的输入输出操作原理,以及掌握了8086微机系统的调试方法和程序调试技巧。

实验报告——找出80868088指令系统所有指令的操作码的编码

实验报告——找出80868088指令系统所有指令的操作码的编码

实验二找出8086/8088指令系统所有指令的操作码的编码一、实验目的本实验旨在利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作码编码对应的指令功能。

二、试验原理:1、每条指令1~6个字节不等2、指令的第一字节为操作码,规定指令的操作类型。

第二字节规定操作数的寻址方式接着以后的3~6 字节依据指令的不同取舍。

3、第一个字节的八个二进制位中前六位为操作码的主要部分,之后一位是D字段,然后是W字段,W指出操作数类型:W=0 为字节,W=1 为字,D指出操作数的传送方向:D=0 寄存器操作数为源操作数,D=1 寄存器操作数为目标操作数。

4、用DOS的输入/输出重定向功能,让debug自动执行一批命令。

三、试验内容和步骤1、用试探法(1)打开debug,输入如下内容:-e 100 00 00 00 00 00 00-u 100 1050B5D:0100 0000 ADD [BX+SI],AL0B5D:0102 0000 ADD [BX+SI],AL0B5D:0104 0000 ADD [BX+SI],AL可以得到如下结果:结论:操作码字节前六位为000000(二进制)看来是一条ADD指令,而且只占两个字节。

记下来:指令码汇编指令---------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL(2)将指令首字节变为01,重复以上实验-e 100 01 00-u 100 1010B5D:0100 0100 ADD [BX+SI],AX得到以下结果:结论:第1字节由00(二进制0000 0000)变为01(二进制0000 0001),ADD指令的第二个操作数由AL变为了AX。

AL为8位寄存器、AX为16位寄存器,印证了W字段的作用,增加一条有用的记录:指令码汇编指令-------------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL0B5D:0100 0100 ADD [BX+SI],AX(3)将指令首字节变为02,重复以上实验-e 100 02 00-u 100 1010B5D:0100 0200 ADD AL,[BX+SI]得到以下结果:结论:第1字节由00(二进制0000 0000)变为02(二进制0000 0010),ADD 操作的传送方向发生转变,印证了D字段的作用。

8086汇编语言程序设计 微机实验报告

8086汇编语言程序设计 微机实验报告

微机实验报告第一部分:8086汇编语言程序设计一、实验目的通过上机练习,初步掌握8086的指令系统,熟悉8086汇编语言程序的编写格式,学会编写简单的汇编语言应用程序,初步学会使用DEBUG调试工具。

二、实验题目(一)编程实现从字符串中查找特定的字符,记录特定字符的个数,并将结果在屏幕上显示,同时退出并返回DOS。

(要求字符串从键盘上输入)1、流程图2、实验程序及注释DATA SEGMENTBUFSIZE DB 20 ;数据段ACTCHAR DB ? ;定义字符串CHARTEXT DB 20 DUP(?) ;给输入字符分配内存DB '$'CNT DB 0 ;给计数器分配内存STRING1 DB 'PLEASE INPUT THE STRING:','$'STRING2 DB 0AH,0DH,'INPUT THE WORD YOU WANT TO CHECK:','$' STRING3 DB 0AH,0DH,'THE NUMBER OF THE WORD IS:','$'DATA ENDS ;数据段结束COSEG SEGMENT ;代码段ASSUME CS:COSEG,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRING1 ;显示提示语:请输入字符串MOV AH,09H ;输出字符串STRING1INT 21HMOV DX,OFFSET BUFSIZE ;从键盘输入字符串存入BUFSIZEMOV AH,0AH ;并送显INT 21HMOV DX,OFFSET STRING2 ;显示提示语:想查询的字符是MOV AH,09H ;输出字符串STRING2INT 21HMOV AH,01H ;从键盘上输入字符到AL中并送显INT 21HMOV BX,OFFSET CHARTEXT ;将字符串首地址存入BXMOV CL,ACTCHAR ;置循环次数CX=字符串长度XOR CH,CHLP1: CMP AL, [BX] ;字符串从头开始与键入字符AL比较JZ LP2 ;相等则转入LP2INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,继续循环LP1JMP FINI ;若全部比较完毕,跳转FINILP2: INC CNT ;计数器增一INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,跳至LP1 FINI: MOV DX,OFFSET STRING3 ;显示提示语:所查询的字符个数:MOV AH,09HINT 21HMOV AL,CNT ;将计数器的值送ALAAM ;将此值转换成非压缩BCD码ADD AH,30H ;将BCD码转换为ASCⅡ码MOV DL,AH ;高位送显MOV AH,02HINT 21HMOV AL,CNT ;再将计数器的值送ALAAMADD AL,30H ;将BCD码转换为ASCⅡ码MOV DL,AL ;低位送显MOV AH,02HINT 21HMOV AH,4CH ;结束INT 21HCOSEG ENDS ;代码段结束END START ;程序结束3、运行结果PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): A↙THE NUMBER OF THE WORD IS(数量为):3↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符):9↙THE NUMBER OF THE WORD IS(数量为):0↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): S↙THE NUMBER OF THE WORD IS(数量为):1↙4、程序改进○1循环次数的改进原来的程序:MOV CX,19改进原因:此程序表明无论输入的字符串多长,即使没有达到限定的最大字符串的长度,也要循环19次。

微机原理上机实验(八+十二)实验报告 8086中断实验 步进电机实验

微机原理上机实验(八+十二)实验报告 8086中断实验 步进电机实验

微机原理上机实验报告实验八:8086中断实验实验十二:步进电机实验微机原理上机实验(八)实验报告实验八:8086中断实验一、实验目的1、了解8086内部响应中断的机制;掌握中断向量的作用。

2、利用实验仪上单脉冲、74HC244电路,不使用8259,实现一个中断实例。

3、复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。

二、实验内容1、编制程序:拨动单脉冲开关,“”送给8086的INTR,触发中断;8086通过INTA信号,读取中断向量;8086计数中断次数,显示于F5区的数码管上注意:给INTR高电平信号,8086就会相应中断,所以实验开始前,保证单脉冲开关给8086低电平;中断程序中,加一个较长的延时程序,在中断结束前,有时间拨动单脉冲开关,恢复给8086低电平。

三、实验原理图本实验,通过F4区的8个拨动开关,给74HC244设定中断向量;本实验的中断向量是08H,即IN7-IN0位数据是00001000。

同学可以自定义中断向量,实验程序中处理中断向量部分程序作相应调整四、实验步骤1、连线说明:B4区:CS244、BLE ——C1区:GNDB4区:RD(IO区)——A3区:INTAA3区:INTR ——B2区:单脉冲B4区:JP57(D0..D7) ——A3区:JP41B4区:JP52(IN0..7) ——F4区:JP27(1..8)D3区:CS、A0、A1 ——A3区:CS1、A0、A1D3区:PC0、PC1 ——F5区:KL1、KL2D3区:JP20、B、C ——F5区:A、B、C2、运行程序3、实验开始前,保证单脉冲开关给8086低电平;运行程序;向下拨动开关(触发中断),立即向上拨动开关,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。

五、实验代码EXTRN InitKeyDisplay:NEAR, Display8:NEAR_STACK SEGMENT STACKDW 100 DUP(?)_STACK ENDS_DATA SEGMENT WORD PUBLIC 'DATA'BUFFER DB 8 DUP(?)Counter DB ?ReDisplayFlag DB 0_DATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:_DATA, SS:_STACKMOV AX,_DATAMOV DS,AXMOV ES,AXNOPCALL InitKeyDisplay ;对键盘、数码管控制器8255初始化CALL WriIntverMOV Counter,0 ;中断次数MOV ReDisplayFlag,1 ;需要显示STI ;开中断START1: LEA SI,BufferCALL Display8CMP ReDisplayFlag,0JZ START1CALL LedDisplayMOV ReDisplayFlag,0JMP START1WriIntver PROC NEARPUSH ESMOV AX,0MOV ES,AXMOV DI,20HLEA AX,INT_0STOSWMOV AX,CSSTOSWPOP ESRETWriIntver ENDPLedDisplay PROC NEARMOV AL,CounterMOV AH,ALAND AL,0FHMOV Buffer,ALAND AH,0F0HROR AH,4MOV Buffer + 1,AHMOV Buffer + 2,10H ;高六位不需要显示MOV Buffer + 3,10HMOV Buffer + 4,10HMOV Buffer + 5,10HMOV Buffer + 6,10HMOV Buffer + 7,10HRETLedDisplay ENDPINT_0: PUSH DXPUSH AXMOV AL,CounterADD AL,1DAAMOV Counter,ALMOV ReDisplayFlag,1CALL LedDisplayDELAY: PUSH BXPUSH CXPUSH DIPUSH SIMOV CX,20DELAY1: LEA SI,BufferCALL Display8loop DELAY1POP SIPOP DIPOP CXPOP BXPOP AX六、实验思考题1.绘制本实验的详细实验电路图?微机原理上机实验(十二)实验报告实验十二:步进电机实验一、实验目的1、了解步进电机的基本原理,掌握步进电机的转动编程方法2、了解影响电机转速的因素有那些二、实验内容编写程序:使用F5区的键盘控制步进电机的正反转、调节转速,连续转动或转动指定步数;将相应的数据显示在F5区的数码管上。

微机原理实验报告2011

微机原理实验报告2011

微机原理与应用实验报告
专业:
班级:
姓名:
学号:
时间:
指导教师:
二○一一年五月改编
云南农业大学工程技术学院--------------------------微机原理与应用实验报告
实验一8086基本指令及程序结构实验报告姓名:学号:专业:年级:
1
2
3
云南农业大学工程技术学院--------------------------微机原理与应用实验报告
实验二编程及汇编实验报告
姓名:学号:专业:年级:
4
5
6
云南农业大学工程技术学院--------------------------微机原理与应用实验报告
实验三8255A并行口实验报告
姓名:学号:专业:年级:
7
8
云南农业大学工程技术学院--------------------------微机原理与应用实验报告
实验四继电器控制实验报告
姓名:学号:专业:年级:
9
10。

8086微机汇编实验报告

8086微机汇编实验报告

电梯模拟实验一、实验目的通过综合实验使学员复习并熟练掌握各个模块电路功能、基本原理、线路连接和驱动方法。

自己编写嵌入式代码进行驱动,掌握相关的程序设计、电路测试的基本能力。

通过动手实践进一步加深对理论知识的理解,提高动手能力。

二、实验原理1.使用模块:本实验使用了8254、8255、七段数码管、4*4键盘、步进电机、喇叭6大模块来进行模拟电梯的综合实验。

2.连接电路:(1).使用8255的C口的PC0~PC7连接4*4键盘的行3~列0,接收4*4键盘输入;(2).将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0接+5V,S1~S3接GND,编程实现在其显示电梯所处的楼层;(3).使用8255的B口的PB0~PB3分别与步进电机的驱动输入端BA~BD相连,编程实现根据键盘输入实现顺时针(反时针)转动;(4).8254的CLK0接1MHz时钟,GATE0接8255的PB5,OUT0和8255的PB4分别接与门的两个输入端A和B,与门输出端Y连接喇叭,编程实现电梯到达所要求的楼层后发出设定的声音进行提示,具体实验电路如下图.3.接线:4.程序流程三、关键点及难点1.关键点(1).8255的控制方式8255是通用并行接口芯片,但在具体应用时,要根据实际情况选择工作方式,连接硬件电路(外设),待进行初始化编程之后才能成为某一专用的接口电路。

8255的初始化编程比较简单,只需要一个方式控制字就把3个端口设置完成。

方式控制字决定端口A、B和C的工作方式,如下图所示。

(2).I/O端口值的读写实验中,会对大量的I/O端口进行读写操作,我们通过I/O端口对相关的硬件进行数据的读写,在进行数据读写的过程中,要清楚相关的函数操作以及写入的bit位的值对硬件起到怎样的控制。

下面是C语言方式对I/O端口读写进行操作的相关函数:(3).七段数码管工作原理实验所用的七段数码管为共阴型,段码采用同相驱动,输入加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

微机原理实验报告8086最小系统构建和IO接口电路参考模板

微机原理实验报告8086最小系统构建和IO接口电路参考模板

得力量是可怕得. 2022-05-01
班会课件PPT
10
改变自己 1、坏习惯会让自己自食恶果.
故事一:有个年轻人向理发师学理发,师父要徒 弟先拿冬瓜进行练习,用剃刀把冬瓜上得一层薄 薄得毛剃干净但不能损坏冬瓜皮.徒弟每次都很
细心地把这层毛剃得干干净净而且冬瓜皮完好 无损.但是,他每次剃完之后都会顺手把剃刀插 在冬瓜上.师父要徒弟改掉这个坏习惯,但徒弟 总是说:“没事得,我以后为顾客理发时绝对不 会这样做.”结果,当徒弟为第一个顾客理完发 时,顺手就把剃刀往顾客头上一插.
2022-05-01
班会课件PPT
22
• 小河流从来不知道有这样得事情:“放弃我 现在得样子,然后消失在微风中?不!不!” 小河流无法接受这样得概念,毕竟它从未有 过这样得经验,叫它放弃自己现在得样子,那
么不等于是自我毁灭了吗?“我怎么知道
这是真得?”小河流这么问. “微风可以把水气包含在它之中,然后飘过 沙漠,到了适当得地点,它就会把这些水气释 放出来,于是就变成了雨水.然后这些雨水又 会形成河流,继续向前进.”沙漠很有耐心地 回答. “那我还是原来得河流吗?”小河流问.
2022-05-01
班会课件PPT
23
• “可以说是,也可以说不是.”沙漠回答,“不管你是
一条河流或是看不见得水蒸气,你内在得本质从
来没有改变.你坚持你是一条河流,是因为你从
来不知道自己内存得本质.”
此时在小河流得心中,隐隐约约地想起了自己在
变成河流之前,似乎也是由微风带着自己,飞到
内陆某座高山得半山腰,然后变成雨水落下,才
4
要想了解自己, 最好问问别人.
2022-05-01
班会课件PPT
5

8086汇编语言上机调试 实验报告

8086汇编语言上机调试 实验报告

一、实验目的(1)掌握常用DEBUG 命令: G,D,R,T,U,Q 。

(2)掌握工具软件EMU8086。

(3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。

(4)掌握简单的数值转换算法二.实验原理2.1 汇编语言程序的上机过程2.1.1、在计算机上运行汇编语言程序的过程如下图所示编辑程序 连接程序 汇编程序文件EXMP.ASMLINKASM MASM TASMEDLINE WPS WORD EDIT文件 EXMP.OBJ (EXMP.LST ) (EXMP.CRF )文件EXMP.EXE (EXMP.MAP ) (EXMP.LIB ) DEBUG出错 出错 出错 出错操作得到的文件操作使用的工具 说明:图1 汇编语言程序的建立及汇编过程2.1.2、汇编语言程序上机过程1)、用编辑程序(如EDIT.EXE )建立ASM 源文件;2)、用汇编程序(如MASM.EXE )把ASM 文件转汇编成OBJ 文件; 3)、用连接程序(如LINK.EXE )把OBJ 文件转连接成EXE 文件; 4)、用调试程序(如 )来调试和执行 5)、 生成EXE 或COM 文件2.2 、汇编语言程序格式存储器的物理地址由段基址和偏移地址组合而成,任何一个逻辑段,无论是代码段,数据段,堆栈段,附加段都必须进行段定义,以便连接程序把不同段和模块连接成一个可执行程序。

此外,还必须明确段和段寄存器之间的关系,这可使用段分配语句来完成。

2.2.1、段定义语句四个逻辑段不一定全部要定义,通常代码段和数据段是必须的,附加段可以省略。

但当代码段中使用了串指令,必须设置附加段作目标串基址用,附加段也可用来存放数据,增大数据段容量。

(1)代码段:存放程序执行的指令 (2)数据段:存放程序所需的数据 (3)堆栈段:存放程序执行的临时信息数据段定义格式:DATA SEGMENT ; 数据段 RESULT_1 DB 1 RESULT_2 DB 1 RESULT_3 DB 1 DATA ENDS 附加段的定义: EXTRA SEGMENTDEST_BUFFER DB 50 DUP (‘?’) EXTRA ENDS 堆栈段的定义:STACK SEGMENT STACK ; 堆栈段STA DB 64 DUP(0)STACK_TOP DB 0STACK ENDS2.2.2、段分配语句在8086/8088系统中存储器采用分段结构,各段容量≦64K字节,用户可以设置多个逻辑段,但只允许4个逻辑段同时有效,段分配语句用来完成将逻辑段分别定义成代码段、数据段、堆栈段和附加段。

8086实验报告

8086实验报告

8086实验报告8086实验报告引言:8086微处理器是Intel公司于1978年推出的一款16位微处理器,它在计算机发展历史上具有重要的地位。

本实验旨在通过对8086微处理器的实际应用,深入了解其工作原理和功能。

一、实验目的本实验的目的是通过对8086微处理器的实际操作,掌握其基本指令的使用方法,并了解其内部结构和工作原理。

二、实验材料和方法1. 实验材料:- 8086微处理器开发板- 电源线- 串口线- 电脑2. 实验方法:- 将8086开发板与电脑通过串口线连接- 将电源线插入开发板并连接电源- 打开电脑,启动开发板上的操作系统- 使用汇编语言编写程序,并通过串口线将程序下载到开发板中- 在开发板上运行程序,观察结果并进行分析三、实验过程1. 硬件连接:将8086开发板与电脑通过串口线连接,并确保连接稳定。

2. 软件操作:打开电脑,启动开发板上的操作系统。

使用汇编语言编写程序,并通过串口线将程序下载到开发板中。

3. 程序运行:在开发板上运行程序,并观察结果。

通过分析程序的运行过程,了解8086微处理器的工作原理和功能。

四、实验结果与分析在本次实验中,我们编写了一个简单的程序,用于在开发板上显示一段文字。

通过观察开发板上的显示屏,我们可以看到程序成功地在8086微处理器上运行,并显示出我们编写的文字。

通过对程序的分析,我们可以了解到8086微处理器具有强大的计算和控制能力。

它能够执行各种指令,完成各种复杂的计算任务。

同时,8086微处理器还具有较大的存储空间和高速的数据传输能力,使得它能够处理大量的数据和信息。

此外,8086微处理器还具有良好的扩展性和兼容性。

它可以与其他外部设备进行连接,实现更多的功能和应用。

同时,8086微处理器与其后续型号的兼容性也非常好,这使得它在计算机领域得到了广泛的应用。

五、实验总结通过本次实验,我们深入了解了8086微处理器的工作原理和功能。

我们通过编写程序并在开发板上运行,亲身体验了8086微处理器的强大计算能力和高效数据传输能力。

熟悉emu8086汇编语言调试环境实验报告

熟悉emu8086汇编语言调试环境实验报告

熟悉emu8086汇编语言调试环境实验报告=======================1. 实验目的-------本次实验的主要目的是熟悉并掌握emu8086汇编语言调试环境的使用,了解汇编语言的基本原理和编程方法,提升对计算机硬件和程序运行的理解。

2. 实验原理-------emu8086是一款用于学习和实验的8086微处理器模拟器。

它提供了一个集成开发环境(IDE),可以在此环境中编写、编译、调试和运行8086汇编语言程序。

3. 实验步骤-------以下是我们进行实验的具体步骤:步骤一:安装emu8086模拟器。

从官方网站下载并安装emu8086模拟器,确保正确安装并能够正常运行。

步骤二:打开模拟器并创建一个新项目。

在模拟器的IDE中,选择“文件”->“新建”->“项目”,然后为项目命名并选择存储位置。

步骤三:编写汇编语言程序。

在项目中创建一个新的汇编文件,使用8086汇编语言编写一个简单的程序。

例如,可以编写一个程序来输出“Hello, World!”到屏幕上。

步骤四:编译程序。

在模拟器的IDE中,选择“编译”->“编译全部”,将汇编文件编译成机器码。

步骤五:运行程序。

在模拟器的IDE中,选择“运行”->“运行”,或者直接按下F9键,来运行程序。

步骤六:调试程序。

如果程序运行出现问题,可以使用emu8086的调试功能来查找和修复错误。

在模拟器的IDE中,选择“调试”->“开始调试”,然后使用调试工具来检查程序的状态、寄存器和内存。

4. 实验结果-------通过本次实验,我们成功地编写、编译、运行并调试了一个简单的8086汇编语言程序。

我们实现了在屏幕上输出“Hello, World!”的目标,并且深入了解了emu8086模拟器的使用方法和8086汇编语言的编程技巧。

5. 实验分析-------通过本次实验,我们深入了解了8086汇编语言的编程方法和计算机硬件的基本原理。

原创 8086微机原理实验报告

原创 8086微机原理实验报告
MOV DL,AL
INC BX
INC BX
MOV AL,[BX]
CALLTURN3
MOV YEAR2,AL
INC BX
INC BX
MOV AL,[BX]
CALLTURN3
MOV YEAR1,AL
INC BX
INC BX
MOV AL,[BX]
CALLTURN3
MOV MONTH,AL
INC BX
INC BX
JNE DISPY
MOV DAY,0
MONT_: MOVAL,MONTH
ADDAL,1
DAA
MOV MONTH,AL
CMP AL,13H
JNE DISPY
MOV MONTH,0
SEC: MOVAL,DL
ADDAL,1
DAA
MOV DL,AL
CMP AL,60H
JNE DISPY
MOV DL,0
MIN: MOV AL,DH
可以通过int10中断设置背景显示:2H子功能实现光标定位,9H子功能实现输出字符颜色,个数等的设定。另外,还可以用图形方式实现图形输出。
为方便使用,在屏幕上还应当显示操作提示。
三、程序说明
用户输入的初始时间,日期是以ASCII码的形式存入内存的,在程序中将输入先后换为BCD码,压缩BCD码。以这种形式实现各变量的计数,校时控制,整点报时的条件判断。最后,将压缩BCD码转换为ASCII码,并输出。
三、程序说明·····································3
四、程序流程图·································5
五、程序代码·····································10

8086的微处理器结构(现场)的认识实验

8086的微处理器结构(现场)的认识实验

微机原理及接口技术实验报告班级:10自动化本1班姓名:吴正翔学号:1015026109成绩:实验1:8086的微处理器结构(现场)的认识实验一、实验目的1.通过debug工具了解8086的寄存器2.了解debug工具二、预习要点1. 8086微处理器的内部特征。

2. 8086的寄存器类型、名称和作用。

3.debug工具的作用和特点。

三、实验项目在DOS下利用debug调试工具的R命令查看8086微处理器的现场(数据结构)四、实验设备环境PC机1台DOS操作系统debug工具(注:对于win764位机,打不开debug的同学,可下载DOSBOX 软件来模拟环境后,就可以的打开debug。

)五、实验方法在DOS下利用debug调试工具的R命令查看8086微处理器的现场(数据结构)。

六、实验要求1.写出R命令的功能。

2.写出8086的当前现场的所有数据部件(寄存器)的名称及作用。

实验1报告1.windows下进入debug的方法。

2.执行R命令3.R命令的功能4.8086的当前现场的所有数据部件(寄存器)的名称及作用。

5.实验感受。

实验2:8086传送类指令的学习实验一、实验目的1了解8086指令的特点2.验证常用传送处理指令类型的功能3.通用传送指令和专用传送指令的对比4.处理类指令的作用二、预习要点1.8086的寻址方式2.8086的传送类指令三、实验项目在DOS下利用debug调试工具的A、R和T命令,验证所有传送类指令的类型、范围、寻址方式及执行过程。

四、实验设备环境PC机一台DOS操作系统debug调试工具五、实验方法用A命令输入以下指令,用T命令逐个执行指令,查看指令结果1.MOV AL ,01H2.MOV SI,DI3.MOV AL,[0000H]4.MOV AX,[BX]5.MOV AL,[BP+0001H]6.MOV AL,[BX][SI]7.MOV AL,[BP+SI-1] 8.XCHG AX,[BX] 9.PUSH AX10.POP AX 11.LEA BX,[SI] 12.LDS BX,[SI]13.ADD AL,01H 14.ADC AH,BH 15INC BYTEPTR [BX]六、实验要求写出指令的基本功能和背景功能,并举例验证说明。

8086最小系统实验报告

8086最小系统实验报告

课程设计实验报告课题:8086最小模式系统的原理图及PCB图设计学院:信息科学与工程学院实验时间:09.12.28-10.01.10目录一、Protel DXP 课程认识 (3)二、设计课题以及设计要求 (3)三、绘制原理图 (4)四、绘制PCB图与封装 (6)五、生成印制板电路图 (8)六、布线跟生成模拟图 (9)七、系统原理图 (12)八、系统封装图 (16)九、元器件清单 (18)十、课程设计总结 (19)参考文献 (21)一、Protel DXP 课程认识Protel DXP 是一款为计算机电路辅助设计的多功能的应用软件,是一个继承的电路开发环境,能为设计者提供统一的电路设计的界面、系统菜单和设计工具。

从功能上,Protel DXP可以分为五大部分:电路原理图绘制部分、印制电力板设计部分、自动布线部分、可编程逻辑设计部分和电路仿真部分。

使用上述所提供的各种功能,设计者便能从电路的原理图设计开始,最终得到所需要的印制电路版图(PCB)。

在正确安装好了Protel DXP软件之后,必须要熟练掌握各种系统参数和基本设置,以及工具栏中的各种基本操作、各种符号所代表的意义。

本次课程设计只要使用到该软件的原理图以及PCB图的绘制和自动布线部分。

二、设计课题以及设计要求本次课程设计主要考查对8086最小模式系统的原理图和PCB图的设计。

1、实验目的1)掌握8086最小模式系统的设计方法。

2)熟练Protel DXP 的使用方法。

2、实验设备PC微机一台、Protel DXP软件3、实验内容本实验完成的是一个基于Protel DXP软件的8086最小模式系统原理图以及PCB图设计。

设计8086最小模式系统,包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。

利用8255芯片进行接口扩展,外接矩阵键盘电路和数码管显示电路等,也可以自行扩展其他外设。

学习掌握Protel DXP软件的使用方法,绘制上述系统的原理图以及印制电路板图(PCB)。

8086指令操作数的寻址方式实验总结

8086指令操作数的寻址方式实验总结

8086指令操作数的寻址方式实验总结在计算机体系结构的学习中,8086指令操作数的寻址方式是一个非常重要的概念。

通过对这一概念的深入了解和实验操作,我们可以更好地理解计算机程序的执行过程,深化对计算机底层原理的理解。

在本文中,我将结合理论知识和实验结果,对8086指令操作数的寻址方式进行全面评估和总结。

1. 立即寻址立即寻址是一种直接将操作数的值嵌入指令中的寻址方式。

在8086指令集中,我们可以使用MOV指令将一个立即数传送到目的操作数中。

MOV AX, 1234h指令将立即数1234h传送到寄存器AX中。

通过实验操作,我发现立即寻址方式适用于需要直接传送常数值的情况,能够提高程序执行的效率。

2. 寄存器寻址寄存器寻址是一种通过寄存器来寻址操作数的方式。

8086微处理器具有通用寄存器AX、BX、CX、DX等,可以直接操作这些寄存器中的数据。

MOV AX, BX指令将寄存器BX中的数据传送到寄存器AX中。

在实验过程中,我发现寄存器寻址方式是一种高效的操作数寻址方式,能够提高程序的执行速度。

3. 直接寻址直接寻址是一种通过内存位置区域来寻址操作数的方式。

在8086指令集中,我们可以使用MOV指令将内存中的数据传送到寄存器中,或将寄存器中的数据传送到内存中。

MOV AX, [1234h]指令将存储在内存位置区域1234h处的数据传送到寄存器AX中。

实验结果表明,直接寻址方式可以灵活地对内存中的数据进行操作,适用于大规模数据的传送和处理。

4. 寄存器间接寻址寄存器间接寻址是一种通过寄存器中存储的位置区域来寻址操作数的方式。

在8086指令集中,我们可以使用指令将寄存器中存储的内存位置区域作为操作数进行操作。

MOV BX, [SI]指令将寄存器SI中存储的内存位置区域处的数据传送到寄存器BX中。

在实验中,我发现寄存器间接寻址方式适用于需要对内存中多个数据进行操作的情况,能够提高程序的效率和灵活性。

5. 立即偏移寻址立即偏移寻址是一种通过基址寄存器和偏移量来寻址操作数的方式。

8086实验

8086实验

8086实验1 设备使用及简单示例程序验证一.实验目的1 熟悉软件编程环境和硬件设备资源2 熟悉工程创建的步骤,其中各个文件作用3 掌握软件菜单的使用,掌握程序的调试基本步骤。

二.实验内容以课本例4-1为源文件创建工程进行工程的调试,查看程序运行过程和结果三.实验仪器微机、WAVE6000编程环境,实验箱注意:文件不要用中文名称,保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

调试过程:2 查看存储器菜单使用:窗口---数据窗口---MEMORY,观察或者修改MEMORY内容。

3 查看CPU寄存器:窗口---CPU窗口,CPU寄存器4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

ASSUME CS:CSEG , DS:DSEG , ES:ESEGSUM DW 2 DUP(?) DUP (duplicate) 含义如下:定义变量(数组)SUM,类型为字(DW),大小为2,内容不定(?)编译器设置:编译器将用户定义的数据段分配在0400H(0040H×16)开始的存储器中。

数据段段基址寄存器DS(0040H)。

查看数据的方法:窗口---数据窗口--- MEMORY ---0400的位置就是你定义的数据段的数据:物理地址=段基址(DS)×16+段内偏移参考程序及流程图:见课本例4-18086实验2 简单程序设计--存储块移动一.实验目的1 熟悉86汇编语言程序结构2 熟悉循环结构程序的编写,进一步熟悉指令系统寻址方式3 熟悉编程环境和程序的调试二.实验内容将指定源地址和长度(100字节)的存储块移动到目的地址。

三.实验仪器:微机、WAVE6000软件,实验箱注意:1 源数据块和目的数据块自己在数据段中定义。

2 要查看移动后结果,定义时对源和目的块赋不同的值S db 25 dup(11h) 含义? dup (duplicate)定义数组S,大小为25,类型为字节(DB),全部赋值为11h3 同实验一,数据段分配在0400H开始的存储器中流程图如右:两种移动的方式:1利用循环结构编程移动方式2利用重复指令(movsb)编程方式参考程序利用重复指令(movsb)编程方式移动 256 字节data segmentSource db 256 dup(055h)Target db 256 dup(0aah)data endscode segmentassume cs:code, ds:data, es:datastart:mov ax, datamov ds, axmov es, axmov si, offset Sourcemov di, offset Targetmov cx, 256rep movsbjmp $code endsend start8086实验3 数据排序一.实验目的1 了解数据排序的常用算法,掌握冒泡算法。

8086软硬件实验报告(微机原理与接口技术上机实验)

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计实验目的(1)掌握DEBUG调试程序的使用方法。

(2)掌握简单程序的设计方法。

实验内容编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。

如:BH=10110010B则运行程序后DH=00001011BDL=00000010B实验准备(1)熟练掌握所学过的指令。

(2)根据实验内容,要求预先编好程序。

实验步骤(1)利用DEBUG程序输入、调试程序。

(2)按下表要求不断地修改BH的内容,然后记录下DX的内容。

实验报告(1)给出程序清单。

(2)详细说明程序调试过程。

程序:CODE SEGMENTSTART : MOV BH,00111111B MOV AL,BHMOV CL,4SHR AL,CLMOV DH,ALMOV AL,BHAND AL,00001111BMOV DL,ALMOV CL,0CODE ENDSEND START实验二简单程序设计实验目的(3)掌握DEBUG调试程序的使用方法。

(4)掌握简单程序的设计方法。

实验内容试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello worldMy name is Li Jianguo参考程序如下:(有错)data segmentout1 db 'Hello world'ax db 'My name is Li Jianguo'data enscode segmentassume cs:code;ds:datalea dx,out1mov ah,2int 21hmov dl,0ahmov ah,2int 21hmov dl,0dhmoo ah,2int 21hlea dx,axmov ah,int 21hcode ends实验步骤(3)利用IDE86程序输入、调试程序。

实验报告(3)给出正确的程序清单。

微机系统与汇编语言实验报告

微机系统与汇编语言实验报告

《微机系统与汇编语言实验报告》8086汇编语言实验项目一(数值筛选)1.实验目的:进一步熟悉8086指令系统,运用并掌握汇编语言程序设计基本方法,编制能满足题目要求的数据处理类小规模程序。

并通过使用EDIT、MASM、LINK等软件工具,熟悉汇编语言程序书写、输入、编译、连接生成可执行程序的全过程。

进一步提高汇编语言程序调试和结果查找的能力。

2.基本要求:应用8086汇编语言程序设计方法,编制一个程序,使它能对10个字节型有符号常数作如下处理:1.在这10个常数中筛选出所有奇数,并存放到ODD开始的内存单元中;2.在这10个常数中筛选出所有偶数,并存放到EVE开始的内存单元中;3.对所筛选出的奇数、偶数分别求和,求和结果分别存放到每组数的结尾。

掌握用EDIT输入和保存8086汇编语言源程序、用MASM编译、用LINK连接生成可执行程序(EXE文件),并采用DEBUG调试运行自编程序,观察并记录程序运行的结果。

3.实验原理与方法:1.实验原理本实验项目需要运用8086汇编语言程序设计方法,而不是单纯地用DEBUG输入汇编语言指令来解决问题。

为了满足本实验的基本要求,程序中需要用到8086伪指令来定义数据区,用定义地址标识符伪指令来定义三个内存变量ORITAB、ODD、EVE,其长度都为10个字节。

这就建立了原始数据存储区、奇数结果存储区和偶数结果存储区。

在操作三个存储区前,通过“OFFSET<变量名>”运算,就能获取这三个存储区的首地址。

设置两个地址指针SI、DI,一个指向EVE存储区单元地址,另一个指向ODD存储区单元地址。

当找到符合偶数条件的数据时,就用SI在传送指令中对目的操作数形成“寄存器间接寻址方式”,把偶数传送到SI所指向的单元;当找到符合奇数条件的数据时,就用DI 在传送指令中对目的操作数形成“寄存器间接寻址方式”,把奇数传送到DI所指向的单元。

设置两个求和寄存器DH、DL,当找到奇数时,把它加到DH求和;当找到偶数时,把它加到DL求和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在EMU8086下环境单步调试程序实验报告1.实验时间:2013年4月23日2.实验地点:图书馆3.实验名称:在EMU8086下环境单步调试程序4. 实验目的:(1)熟悉EMU8086仿真环境(2)在EMU8086环境下单步调试给出的程序,加深对重要指令的理解5.实验所用设备与软件:硬件:PC机一台;软件:EMU80866.实验方法、过程与实验结果的分析完整代码如下(已补充,已修改)org 100h ; set location counter to 100h;mov指令mov CL,23Hmov CH,45H ;(cx)=4523Hmov AX,1234H ;(AX)=1234Hmov WORD ptr[300H],0180H ;( 300H)=0180Hmov bx,[300H] ;(bx)=0180Hmov [300H],cx ;(300H)=4523Hmov ax,ds ;(ax)=0700Hmov ds,bx ;(ds)=0180Hmov es,[300H] ;(es)=0000Hmov [300H],ss ;(ss)=0700mov bx,cs ;(bx)=0700mov [300H],cs ;(300H)=0700目的操作数不允许为CS段寄存器;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;XCHG指令MOV AX,1234H ;(AX)=1234HMOV BX,3456H ;(BX)=3456HXCHG AX,BX ;(AX)=3456H,(BX)=1234HMOV AX,1234H ;(AX)=1234HMOV WORD ptr[300H],0100H;( 300H)=0100HXCHG AX,[300H];(AX)=0100H,( 300H)=1234H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV BX,OFFSET TABLEMOV AL,15XLAT ;(AL)=225H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;堆栈指令MOV AX,1234H ;(AX)=1234HPUSH AXPOP BX;(BX)=1234HMOV WORD ptr[300H],0100H;(300H)=0100HPUSH [300H]POP BX ;(BX)=0100H POP弹栈指令为字操作;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;地址传送指令MOV BX,1234H;(BX)=1234HLEA AX,10H[BX];(AX)=1244H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;输入/输出指令mov ax, 30303Dout 199, ax;199端口是十进制LED数字模拟端口in al, 7 ;7号端口是马达的准备好位;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;加/减法运算MOV AX,1234H;(AX)=1234HMOV WORD PTR[300H],0100H;(300)=0100HADD AL,[300H]SUB AL,[300H] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;加1/减1指令MOV CX,10H ;CX=0010HINC CX ;CX=0011HDEC CX ;CX=0010H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;整数变反指令MOV AL,0f1H;(AL)=F1HNEG AL ;(AL)=0fHMOV AL,80H ;(AL)=80HNEG AL ;(AL)=80H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;比较指令MOV AX,1234H ;(AX)=1234HMOV WORD PTR[300H],0100H;(300H)=0100HCMP AX,[300H] ;CF=0,ZF=0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;乘法指令;单乘法指令MOV AX,1234H ;(AX)=1234HMOV WORD PTR[300H],0100H;(300H)=0100H MUL WORD PTR[300H]MOV AX,1234H ;(AX)=1234H MOV WORD PTR[300H],0100H;(300H)=0100H IMUL WORD PTR[300H]MOV AX,45H ;(AX)=0045H MOV BX,63HMUL BX ;(DX:AX)=1AAFH;双乘法指令MOV AX,8885H ;(AX)=8885HMOV BX,63HIMUL BX ;(DX:AX)=ffd1cb6fH ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;除法指令MOV AX,0400HMOV byte PTR[300H],0b4HDIV byte PTR[300H];(AL)=05H (AH)=7CH MOV AX,0400HMOV BL,0b4HIDIV BL ;(AL)=0f3H (AH)=024H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;数据宽度变宽交换指令MOV AL,12HCBW ;(AX)=0012HCWD ;(DX:AX)=00000012HMOV AL,82HCBW ;(AX)=ff82HCWD ;(DX:AX)=ffffff82H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BCD调整MOV AL,39HMOV BL,36HADD AL,BLAAADAASUB BL,ALAASDASMOV AL,07HMOV BL,06HMUL BLAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;逻辑运算指令mov AL,0aahAND AL,0fhor al,0fhxor al,alnot alTest al,02h ;ZF=0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;移位指令mov ax,2SHL AX,1 ;SALMOV CL,2SHL AX,CL ;SALMOV AL,8AhSHR AL,1 ;(AL)=45HSAR AL,1SHR AL,2xor ax,ax ; CF=0mov AX,8CFFhROL AX,1;CF=1 SF=0 ZF=0 OF=1 PF=0xor ax,ax ; CF=0mov AX,8CFFhROR AX,1;CF=1 SF=1 ZF=0 OF=0 PF=0xor ax,ax ; CF=0mov AX,8CFFhRCL AX,1;CF=1 SF=0 ZF=0 OF=1 PF=1xor ax,ax ; CF=0mov AX,8CFFhRCR AX,1;CF=1 SF=0 ZF=0 OF=1 PF=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;串操作指令LEA SI,FIRST ;mov si,offset FIRSTLEA DI,SECOND ;mov di,offset Secondmov cx,10CLD ;done1: movsw ;movs Second,FIRSTloop done1LEA SI,FIRST ;mov si,offset FIRSTLEA DI,SECOND ;mov di,offset Secondmov cx,10 ;mov bx,0CLD ;done2: LODSW ;LODS FIRSTadd bx,ax ; 将First数组中的数相加存到bx中STOSW ;STOS SECONDloop done2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV AX,14c6hMOV BX,80DChCMP AX,BXJNO PROG1JNC PROG2JMP PROG3PROG1: mov CX,1JMP PROG4PROG2: mov CX,2JMP PROG4PROG3: mov CX,3PROG4: mov dl,'O'mov AH,2int 21H ;输出'O'mov dl,'K'int 21H ;输出'K'ret;TABLE存放着0~15的平方TABLE DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225 FIRST DW 1,2,3,4,5,6,7,8,9,10SECOND DW 10 DUP(0)7.实验总结通过这次实验,初步了解了EMU8086模拟器环境,及其使用方法。

在刚使用模拟器时,不知道如何调试,如何进行单步跟踪,如何根据程序每一部的运行来知道运行结果,慢慢自己调试,看书,上网查资料和别人讨论,才知道了解会使用EMU8086模拟器编译,并初步知道通用寄存器,标志寄存器的显示,跟踪代码如何运行。

EMU8086编译源代码,并在模拟器上一步一步的执行。

可视化界面易于查看。

可以在执行程序的同时可观察寄存器,标志位和内存。

算术和逻辑运算单元显示中央处理器内部的工作情况。

通过实验中和看书,了解到应用伪指令能更好地组织汇编语言程序。

其中ORG指令,开始执行的时候,将某段语言装载到内存中的哪个地址,在改变数值之后,内存也随之改变。

另外在程序最后。

相关文档
最新文档