80x86微机原理实验指导

合集下载

南理工微机实验报告

南理工微机实验报告

南理工微机实验报告篇一:微机实验报告实验1 基本操作实验一、实验目的(1)掌握TD- PITC 80X86微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

(2)掌握使用运算指令类编程及调试方法。

(3)掌握运算类指令对各状态标志位的影响及其测试方法。

(4)学习使用软件监视变量的方法。

二、实验设备PC机一台,TD- PITC实验装置一套三、实验内容及步骤通过对样例程序的操作,学会使用在TD- PITC环境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会:如何设置断点,如何单步运行程序,如何连续运行程序,怎样查看寄存器的内容,怎样修改寄存器的内容,怎样查看存储器的内容,怎样修改存储器的内容实验内容一——BCD码转换为二进制实验内容将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3501H起始的内存单元中,自行绘制流程图并编写程序。

实验步骤:1)运行Wmd86软件,进入Wmd86集成开发环境。

2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言。

语言选择后,下次再启动软件,语言环境保持这次的修改不变。

在这里我们选择汇编语言。

3)语言选择后,点击新建来新建一个文档。

默认文件名为Wmd861.4)编写实验程序。

并保存,此时系统会提示输入新的文件名,输完后点击保存。

实验程序清单如下:SSTACK SEGMENT STACKDW 64 DUPSSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:XOR AX,AXMOV SI 3500HMOV DI 3510HA1:MOVE AL,[SI]ADD AL,ALMOV BL,ALADD AL,ALADD AL,ALADD AL,BLINC SIADD AL,[SI]MOV [DI],ALINC SIINC DILOOP A1A2:JMP A2CODE ENDSEND START5)点击编译文件,若程序无误,再点击进行连接。

80X86汇编程序设计实验教程共158页word资料

80X86汇编程序设计实验教程共158页word资料

第1 汇编语言程序的运行方式汇编编语言是面向机器的低级语言,它的每条指令都是机器指令的助记符,其上机运行的方式常有两种:一是在借助程序调试工具DEBUG,编写小的汇编语言程序,直接在DEBUG环境下运行之。

二是借助文本编辑器编写汇编语言源程序,然后借助汇编器汇编生成目标代码,再连接生成可执行文件,在命令行(或命令提示符)下运行之。

1.1在DEBUG下运行汇编程序在MS-DOS、WINDOWS 98、WINDOWS 2000和WINDOWS XP中都提供有程序调试工具DEBUG,其文件名是DEBUG.EXE,可以在命令提示符“>”下运行之。

在进入DEBUG的提示符“-”之后,用户可以通过DEBUG的汇编命令输入汇编语言源程序,并将其汇编成机器语言程序加载存储到指定的地址空间,然后便可运行、调试输入的程序。

使用DEBUG运行汇编语言程序简单方便,但只能编写仅含一个代码段的小型程序,这对学习汇编语言的指令,了解、熟悉指令的功能带来极大的方便。

例1.1在DEBUG下运行如下程序:mov dl,33h ;字符“3”的ASCII码送dlmov ah,2 ;使用INT 21H的2号功能int 21h ;进入功能调用,输出“3”int 20h ;BIOS中断,结束当前程序,返回程序系统该程序运行结果是在显示器上输出一个字符“3”。

如果要输出其它字符,可以改变程序中送输入dl中的ASCII码。

下面我们给出在WINDOWS XP下运行该程序的步骤:图1 命令指符窗口⑴进入DEBUG运行附件下的命令提示符,如图1所示。

在提示符下输入DEBUG,即:C:\>debug<Enter>屏幕显示符“-”。

注:“<Enter>”表示按回车键。

⑵输入程序并汇编在DEBUG的指示符下用汇编命令a输入并汇编程序:-a 1000B25:0100 mov dl,33<Enter>0B25:0102 mov ah,2<Enter>0B25:0104 int 21<Enter>0B25:0106 int 20<Enter>0B25:0108<Enter>⑶运行程序用命令g运行输入的程序:-g=1003Program terminated normally说明:程序输入汇编完成后,可以生成一个在命令指示下直接运行的文件,然后在命令提示符下运行。

实验七 80x86的指令系统-逻辑指令

实验七 80x86的指令系统-逻辑指令

实验七80x86的指令系统-逻辑指令的用法班级:10级计算机科学与技术学号:姓名:日期:2012年4月20日成绩:一、实验目的1)熟练掌握80x86的指令系统中逻辑指令的用法。

2)熟练掌握80x86的指令系统中移位指令和循环移位指令的用法。

二、实验内容1. 将下述程序补充完整,该程序的功能是实现(X*16-Y)/8,并将算术运算结果的商保存在w字存储单元。

其中X、Y均为16位带符号数。

上机调试补充完整的程序。

(要求使用移位指令完成)DATA SEGMENTX DW 32HY DW 0B4HW DW 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CL,4;…请将程序代码补充完整MOV BX,XSAL BX,CLSUB BX,YMOV CL,3SAR BX,CLMOV W,BXMOV AH,4CHINT 21HCODE ENDSEND START2. 将下述程序补充完整,该程序的功能是将A、B两个字节存储单元的内容进行装配,形成14H,并将装配的结果保存在C字节存储单元中。

上机调试补充完整的程序。

DATA SEGMENTA DB 0A1HB DB 47HC DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DL,A;…请将程序代码补充完整MOV CL,4ROL DL,CLAND DL,0F0HMOV CL,4ROR B,CLAND B,0FHADD DL,BMOV C,DLMOV AH,4CHINT 21HCODE ENDSEND START3. 将下述程序补充完整,该程序的功能是将A字节存储单元内容的高低四位进行互换;将B字存储单元内容中的高字节和低字节部分进行互换。

上机调试补充完整的程序。

DATA SEGMENTA DB 36HB DW 0B135HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CL,4;…请将程序代码补充完整ROL A,CLMOV CL,8ROR B,CLMOV AH,4CHINT 21HCODE ENDSEND START三、程序运行结果及分析。

80x86微处理器 微机原理.

80x86微处理器 微机原理.

第3章 80x86微处理器例3.1 设变量x=11101111B,y=11001000B,X=0101101000001010B,Y=01001100 10100011B,请问分别执行x+y和X+Y操作后标志寄存器中各状态位的状态如何? 11101111 + 11001000 自动丢失 1 10110111 0101101000001010 0100110010100011 1010011010101101 DF=1 CF=0 DF=1 CF=1 第3章 80x86微处理器状态位执行x+y后执行X+Y后 CF 最高位D7向前有进位,CF=1 低8位中1的个数为偶数(6,PF=1 最高位D15向前没有进位,CF=0 低8位中1的个数为奇数(5,PF=0 PF AF 低4位向前有进位,AF=1 低4位向前没有进位,AF=0 ZF 计算结果不为0,ZF=0 计算结果不为0,ZF=0 SF 最高位D7为1,SF=1 CFDF=0,没有溢出,OF=0 最高位D15为1,SF=1 CFDF=1,结果溢出,OF=1 OF第3章 80x86微处理器 2. 控制标志位(3位)——用来控制CPU的操作,由程序设置或清除。

它们是: TF(Trap Flag——跟踪(陷阱)标志位。

是为测试程序的方便而设置。

若将TF置1,CPU处于单步工作方式。

IF(Interrupt Flag——中断允许标志位。

是用来控制可屏蔽中断的控制标志位。

若将IF置1,表示允许CPU 接受外部从INTR 引脚上发来的可屏蔽中断请求;若用CLI指令将IF清0,则禁止CPU接受可屏蔽中断请求信号。

DF(Direction Flag——方向标志位。

若将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;否则按增地址方式进行。

第3章 80x86微处理器注意有关寄存器,尤其是在存储器寻址时用来存放操作数在段内偏移地址的地址寄存器和标志寄存器中各控制标志位的使用方法,将在后续章节中涉及到时还将进一步详细介绍,请读者务必熟练掌握。

《80X86微机原理与接口技术》课件第4章

《80X86微机原理与接口技术》课件第4章

A0~ A9 CS R/ W
D
图4-5 1K×1 SRAM
如果要组成8位字长的存储体,例如2K×8位,则也使用矩 阵排法。它的16 384个基本电路排成128×128的矩阵,11条地 址线分成行选7条、列选4条。行线地址译码器输出128条,选 择X0~X127中的1行;列线地址译码器输出16线,选择Y0~Y15 中的1列。列按8位分组,每一行的128个基本电路被分成16组, 每组8个基本电路。当有1列被选中有效时,该列128×8个基本 电路的列端Y 均为1。当11位地址信息出现在译码器输出端时, 行选择线和列选择线同时为1的8个基本电路被选中。每个基本 电路有1条数据线,共有8条数据线能和外界交换数据。图4-6 画出了2 K字×8位/字的存储器电路图。
E2PROM使用电擦除,只要在不同的引脚加不同的电压 就可以实现全片或字节的擦除与重写,且能在线进行,因此 它可以作非易失性RAM使用,比EPROM方便得多,但其价高、 集成度不如EPROM。Flash Memory是一种可取代E2PROM的 快速电擦除非易失性ROM,且可作非易失性RAM使用。它的 结构和E2PROM相同,但擦除和写入速度极快,整体擦除约需 1 s,而E2PROM需15~20 min。编程写入时,以Flash Memory 28F256(32 KB×8)为例,整个芯片编程只需0.5 s,且擦除次数 可达10万次。
第 4 章 内部存储器
4.1 存储器的分类 4.2 随机存取存储器RAM 4.3 只读存储器ROM 4.4 Cache 和SB SRAM 4.5 内存条和EDO DRAM、SDRAM、RDRAM 4.6 存储器与8086/8088 CPU之间的连接 4.7 存储器与80386/80486和Pentium CPU之间的连接 4.8 存储器容量与地址编号之间的关系

武汉理工实验指导书-微机原理及接口技术

武汉理工实验指导书-微机原理及接口技术

《微机原理及接口技术B》实验指导书※实验环境实验设备——唐都TD-PITE 80X86 微机原理及接口技术微机实验平台。

每套设备包括实验箱一台、配备安装有Wmd86联机操作软件的PC微机一台、连接线及电源线。

图1 实验平台连接示意图图2 唐都TD-PITE实验箱图3 唐都TD-PITE实验箱布局图操作步骤:1、打开电脑。

2、插好实验平台电源线。

3、通过串口连接线连接实验箱与微机。

4、打开Wmd86联机操作软件。

5、检查端口是否选择好。

6、进行实验接线。

7、录入汇编程序。

8、编译、链接、下载,观察结果。

图4 Wmd86联机操作软件实验一定时器的使用1.实验目的和意义●熟悉接口试验箱的使用环境。

●体会接口电路通过外部总线与处理器连接原理。

●掌握可编程芯片8253的编程方法。

2.实验设备PC 机一台,TD-PITE 实验装置一套。

3.实验内容1、编写程序,将8254 的计数器0 和计数器1 都设为方式3,用信号源1MHz 作为CLK0时钟,OUT0 为波形输出1ms 方波,再通过CLK1 输入,OUT1 输出1s 方波。

2、编写程序,将8254 的计数器0 设为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。

改变计数值,验证8254 的计数功能。

4.背景知识〔1〕8254的功能➢8253具有三个独立的16位计数器〔0#~2#通道〕;➢每个通道有6种工作方式;➢可以进行二进制或十进制计数,计数方式为减1计数。

〔最高计数频率2.6MHZ〕〔2〕8254 的内部结构和外部引脚图1.1 8254内部结构图1.2 8254外部引脚〔3〕8254 的工作方式●方式0:计数到0 结束输出正跃变信号方式。

●方式1:硬件可重触发单稳方式。

●方式2:频率发生器方式。

●方式3:方波发生器。

●方式4:软件触发选通方式。

实验2-80X86寻址方式和指令指令系统和寻址方式

实验2-80X86寻址方式和指令指令系统和寻址方式

实验二80X86寻址方式和指令系统实验目的:通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。

2、8086系统中数据在内存中的存放方式和内存操作数的几种寻址方式。

3、8086指令:INC,DEC,LOOP,INT 3,INT 20H,及ADD、SUB等常用指令。

4、8086汇编语言伪操作:BYTE PTR,WORD PTR,DB5、求累加和程序和多字节加减法程序。

6、淘宝店号530213实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DL7、MOV WORD PTR[BX+SI+2],2846 淘宝店号530213步骤:1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。

注意D命令显示结果中右边的ASCII字符及双字节数存放法。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

二、求累加和程序:程序:MOV BX,100MOV CX,10SUB AX,AXLOP: ADD AL,[BX]ADC AH,0INC BXJ: LOOP LOPINT 3步骤:要防止数据冲突,先用R命令将段寄存器改为不同值,例如DS=2000H8、1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J 的实际地址,在键入LOOP指令时LOP用实际地址值代替。

淘宝店号5302132)用命令N AA将此程序命名为文件AA(文件名可任取)。

9、3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址) 淘宝店号5302134)用命令W 100将此程序存到AA命名的磁盘文件中。

合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 4排序程序设计实验

合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 4排序程序设计实验

1.6 排序程序设计实验1.6.1 实验目的1. 掌握分支、循环、子程序调用等基本的程序结构。

2. 学习综合程序的设计、编制及调试。

1.6.2 实验设备PC机一台,TD-PITE实验装置一套。

1.6.3 实验内容及步骤1. 气泡排序法在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求采用气泡法对该数据区中的数据按递增关系排序。

设计思想:(1)从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。

此时,N个数中的最小数将被排在N个数的最前列。

(2)对剩下的N-1个数重复(1)这一步,找到N-1个数中的最小数。

(3)再重复(2),直到N个数全部排列好为止。

实验程序清单(例程文件名为:A6-1.ASM)SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV CX, 000AHMOV SI, 300AHMOV BL, 0FFHA1: CMP BL, 0FFHJNZ A4MOV BL, 00HDEC CXJZ A4PUSH SIPUSH CXA2: DEC SIMOV AL, [SI]DEC SICMP AL, [SI]JA A3XCHG AL, [SI]MOV [SI+01H], ALMOV BL, 0FFHA3: INC SILOOP A2POP CXPOP SIJMP A1A4:MOV AX,4C00HINT 21H ;程序终止CODE ENDSEND START实验步骤(1)分析参考程序,绘制流程图并编写实验程序。

(2)编译、链接无误后装入系统。

(3)键入E3000命令修改3000H~3009H单元中的数,任意存入10个无符号数。

80X86汇编语言程序设计 实验报告2

80X86汇编语言程序设计 实验报告2

80X86汇编语言程序设计实验报告专业:班级:日期:成绩:第二次试验指导老师:学生姓名:学号:一、实验目的(1) 加深对一些常用的汇编指令的理解;(2) 加深对常用DOS功能调用指令的理解;(3) 进一步熟悉TD的使用。

二、实验内容1、《80X86汇编语言程序设计》教材中 P45的 2.3题。

要求:(1) 分别记录执行到“MOV CX,10”和“INT 21H”之前的(BX), (BP),(SI),(DI)各是多少。

(2) 分别记录程序执行初期与退出之前数据段开始40个字节的内容,指出运行结果是否与设想的一致。

2、《80X86汇编语言程序设计》教材中 P45的 2.4题。

要求:(1) 实现的功能不变。

(2) 内存单元中数据的访问采用变址寻址方式。

(3) 记录程序执行到退出之前数据段开始40个字节的内容,检查程序运行结果是否与设想的一致。

3、编写程序利用DOS 10号功能调用输入一个字符串,统计字符串中字符0、1、…、9出现的次数并显示出来(假设每个字符最多出现9次,若大于9次则显示为x)。

三、实验步骤及结果1、输入源程序,如下:.386STACK SEGMENT USE16 STACKDB 200 DUP(0)STACK ENDSDA TA SEGMENT USE16BUF1 DB 0,1,2,3,4,5,6,7,8,9BUF2 DB 10 DUP(0)BUF3 DB 10 DUP(0)BUF4 DB 10 DUP(0)DA TA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DA TA,SS:STACKSTART: MOV AX,DA TAMOV DS,AXMOV SI,OFFSET BUF1MOV DI,OFFSET BUF2MOV BX,OFFSET BUF3MOV BP,OFFSET BUF4MOV CX,10LOPA: MOV AL,[SI]MOV [DI],ALINC ALMOV [BX],ALADD AL,3MOV DS:[BP],ALINC SIINC DIINC BPINC BXDEC CXJNZ LOPAMOV AH,4CHINT 21HCODE ENDSEND START(1)进行单步调试。

80x86微机原理实验指导

80x86微机原理实验指导

80x86微机原理与接口技术实验指导书长安大学信息学院电子通信实验室第1章80X86 微机原理及其程序设计实验本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。

1.1 系统认识实验1.1.1 实验目的掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

1.1.2 实验设备PC机一台,TD-PITE 实验装置一套。

编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。

1.1.3 实验内容1.1.4 实验步骤1. 运行Wmd86 软件,进入Wmd86 集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1-1所示。

语言选择后,下次再启动软件,语言环境保持这次的修改不变。

在这里,我们选择汇编语言。

图1-1-1 语言环境选择界面3. 语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-1-2所示。

默认文件名为Wmd861。

图1-1-2 新建文件界面4. 编写实验程序,如图1-1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

图1-1-3 程序编辑界面SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV CX, 16MOV SI, 3000HAA1: MOV [SI], ALINC SIINC ALLOOP AA1AA2: JMP AA2CODE ENDSEND START5. 点击,编译文件,若程序编译无误,则输出如图1-1-4所示的输出信息,然后再点击进行链接,链接无误输出如图1-1-5所示的输出信息。

80x86汇编语言程序设计实验指导书

80x86汇编语言程序设计实验指导书

80X86汇编语言程序设计实验指导书中南民族大学计算机科学学院2006年9月目录实验一实验的基本要求与方法 (1)实验二顺序程序设计 (13)实验三分支程序设计 (18)实验四循环程序设计 (24)实验五子程序设计 (31)实验六串操作指令的使用 (36)实验七位运算指令的使用 (41)实验八宏汇编技术 (45)附录A MASM 6.X (53)附录B Windbg的使用 (54)附录C I/O宏说明 (57)附录D 汇编指令总汇 (73)附录E 流程图规范 (90)实验一实验的基本要求与方法1.1 实验目的与要求1.1.1 实验目的实验是掌握汇编语言程序设计的步骤,学习使80X86汇编语言程序设计的基本方法和技能,熟练掌握用汇编语言设计、编码、调试和运行程序的方法,养成良好的程序设计习惯,为后续课程和将来相关的项目开发打下坚实的基础。

1.熟练操作宏汇编的开发环境,熟悉汇编语言的编译工具(MASM6.11)及调试器(Windbg)的使用。

2.掌握汇编语言的寻址方式和常用指令。

3.掌握汇编语言基本的程序设计方法和调试手段。

4.掌握子程序和宏指令的设计和调试手段。

1.1.2 实验要求1.上机前应做好充分的准备。

对选定的实验题要先进行设计包括程序框图、数据结构以及算法;上机之前先编好程序代码,并进行认真地静态检查,减少错误的发生,同时还有预先估计程序运行的结果或结果范围,做到心中有数。

2.上机时要遵守实验室的规章制度,爱护实验设备。

要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在程序的调试过程中,有意识的学习及掌握Windbg程序的各种功能,以便掌握程序的调试方法和技巧。

不互相抄袭,应自己动手按自己的算法编制程序,调试通过。

3.下机后要对实验结果进行整理,分析程序调试过程中所出现的各种情况,对未通过的程序更好认真分析原因,总结经验教训。

4.每个程序完成后应写出实验报告,实验报告的要求如下:(1)本次实验的目的及要求,实验内容。

微机原理与汇编语言 实验指导

微机原理与汇编语言  实验指导

微机原理与汇编语言实验指导书(计算机科学与技术专业本科)福建工程学院计算机与信息科学系计算机软件与理论教研室赵忠孝编2005年9月目 录实验一 学习使用DEBUG主要命令 -----------------------1 实验二 80X86指令系统和寻址方式(一) -----------------6 实验三 80X86指令系统和寻址方式(二) -----------------10 实验四 汇编语言程序格式、上机过程 -------------------14 实验五 分支程序设计 ---------------------------------17 实验六 循环程序程序 ---------------------------------20 实验七 子程序设计 -----------------------------------22 实验八 输入输出程序设计 -----------------------------27实验一 学习使用DEBUG主要命令实验目的:通过实验掌握下列知识:1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及用16进制数表示二进制码的方法。

5、8088寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:一、DOS常用命令练习:1、将机房提供的系统盘插入A驱动器中,开机,出现提示符后打入命令FORMAT B:/S。

等屏幕上出现提示后将新盘插入B驱动器并打回车。

PC机即对新盘格式化并将糸统拷入。

2、打命令 COPY A:*。

* B 将糸统盘上全部文件拷到你的盘上。

3、将新盘插到 A驱动器中,用DIR命令查看盘上文件。

4、用命令 COPY DEBUG。

COM BUG 复制一个文件。

5、用命令 RENAME BUG BG 将BUG 文件改为BG。

80X86微机原理及其应用第八章

80X86微机原理及其应用第八章
N N N/2 N N 0 1 0/N 0/N N/2 N 0 1 0 0 0 1 0
讨论: 计数开始的时刻
方式 5
计数开始的时刻

实验: 计数开始的时刻

需要注意: 处理器写入8253的计数初值只是写入了预置 寄 存 器 , 之 后 到 来 的 第 一 个 CLK 输 入 脉 冲 (需先由低电平变高,再由高变低)才将预 置寄存器的初值送到减1计数器。 从第二个CLK信号的下降沿,计数器才真正 开始减1计数。
D7
D6
D5
D4
D3
D2 工作方式
D1
D0 数制
计数器选择
读写格式
0 — 二进制计数 00 — 选 择 计 数 器 0 01 — 选 择 计 数 器 1 10 — 选 择 计 数 器 2 11 — 非 法 00 — 将 减 1计 数 器 C E 中 的 数 据 锁 存 到 O L 中 (锁 存 功 能 ) 01 — 对 计 数 器 的 低 8位 读 或 写 10 — 对 计 数 器 的 高 8位 读 或 写 1 1 — 计 数 器 1 6 位 操 作 (先 低 8 位 , 后 高 8位 读 或 写 ) 000 — 方 式 0 001 — 方 式 1 × 10 — 方 式 2 × 11 — 方 式 3 100 — 方 式 4 101 — 方 式 5 1— 十 进 制 计 数
8253 用于定时中断
1)选择工作方式 选择方式2,按二进制计数。
2)计算计数初值
键盘扫描频率=1/10ms=100HZ 分频系数N=fclk/fout =10kHZ/100HZ =100=64H 3)读写格式: 写入计数值低8位到通道0低8位
注意:以方式2作定时器时, 计数初值N即分频系数。 分频系数=输入频率 /输出频率

计算机组成原理与汇编语言实验二 80x86指令使用实验

计算机组成原理与汇编语言实验二  80x86指令使用实验

实验二 80x86指令使用实验姓名:学号:分数:1..如图,给出下面各条四则运算和逻辑运算指令的结果,并对结果对验证。

(说明:执行每条四则运算指令时,ax=90abh,bx=5678h)(说明:执行每条逻辑运算指令时,ax=1234h,bx=5678h)2..分析解释下面图中int和call指令执行的过程,给出使用t命令执行int和call指令后cs ip sp3个寄存器的取值;并同时给出执行int和call指令后将要执行的下一条指令。

3.将dx、ax两个寄存器组合构成32位数据(dx中是高位)实现rol和rcr移位;rol 实现rcr实现4.在debug中定义内存单元如下,编程统计两个内存单元中二进制数0的个数;E 2000:20 AB 905.编写程序将内存中的10个字节数据的位置颠倒过来(即将第1个字节和第10个字节的内容进行交换,第2个字节和第9个字节的内容进行交换……),数据定义如下:E 2000:20‘abcdefghij’6.假定电脑d盘根目录中有一个名位wangxiao.txt的文件,文件中保存有任意50个字符数据,编程实现下面的功能:1)查找:从键盘上输入一个关键字,查找wangxiao.txt中是否包含该关键字,并根据查找的结果给出提示;2)替换:从键盘输入要替换的原字符和新字符,将wangxiao.txt中所有的原字符使用新字符替换;提示:执行程序前应首先在debug中读入文件(采用n和l调试命令)(选做)电脑未分D盘,用E盘代替说明:1.不要随意改变实验报告的布局。

实验的结果和分析尽量写在题目后留出的空白的地方。

2.有关的程序段和实验结果,用图片的形式提供;程序段和实验结果的分析写在图片空白的四周。

3.第5个实验要求写算法,画程序框图。

其他的不要求。

所有的程序都要求有分析。

所有的实验结果要求有说明。

4.本页不用打印,不用提交,实验报告只用提交前面的4页。

计算机组成原理与汇编语言实验四80x86汇编语言程序开发实验

计算机组成原理与汇编语言实验四80x86汇编语言程序开发实验

计算机组成原理与汇编语言实验四80x86汇编语言程序开发实验计算机组成原理与汇编元程序设计实验报告实验四80x86汇编语言程序开发实验1.汇编语言程序上机过程,实验步骤:(1)用用文字编辑工具(EDITPLUS)将源程序输入,保存文件其扩展名为.ASM;(2)用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过;(3)用LINK将.OBJ文件连接成可执行的.EXE文件;(4)在DOS状态下运行LINK产生的.EXE文件;2.编写一个汇编程序,实现下面的功能:(1)在数据段中定义10个标题msg0到msg9,标题的内容任意;(2)采用1号DOS功能子程序,输入0到9中任意1个数值,然后显示对应的msg0到msg9中的某一个标题;(3)如果输入数值10,则显示输出全部10个标题;(4)程序循环执行,直到输入ESC键,程序结束;(5)根据1的步骤,编译链接生产exe文件,并测试程序的功能;源程序代码(截图)data segmentmsg0 db 'xxx',0dh,0ah,'$'msg1 db '学号',0dh,0ah, '$'msg2 db 'q',0dh,0ah, '$'msg3 db 'w',0dh,0ah, '$'msg4 db 'e',0dh,0ah,'$'msg5 db 'r',0dh,0ah,'$'msg6 db 't',0dh,0ah,'$'msg7 db 'y',0dh,0ah,'$'msg8 db 'u',0dh,0ah,'$'msg9 db 'i',0dh,0ah,'$'msg10 db' xxxq w e r t y u i',0dh,0ah,'$'data endscode segmentAssume cs:code,ds:datastart:mov ax,datamov ds,axagain:mov ah,01int 21hcmp al,'0'jz zerocmp al,'1'jz onecmp al,'2'jz twocmp al,'3'计算机组成原理与汇编元程序设计实验报告cmp al,'4' jz fourcmp al,'5'jz fivecmp al,'6'jz sixcmp al,'7'jz sevencmp al,'8'jz eightcmp al,'9'jz ninecmp al, 'a'jz allcmp al,1bhjz exitzero:mov dx,offset msg0 jmp outputone:mov dx,offset msg1 jmp outputtwo:mov dx,offset msg2 jmp output three:mov dx,offset msg3 jmp outputfour:mov dx,offset msg4 jmp outputfive:mov dx,offset msg5 jmp outputsix:mov dx,offset msg6 jmp output seven:mov dx,offset msg7 jmp output eight:mov dx,offset msg8jmp outputnine:mov dx,offset msg9计算机组成原理与汇编元程序设计实验报告all: mov dx,offset msg10jmp outputoutput:mov ah,09int 21hjmp againexit: mov ah,4chint 21hcode endsend start程序功能测试(截图)分析(手写)实验总结(手写):。

(完整版)微机原理Emu8086仿真软件实验讲义

(完整版)微机原理Emu8086仿真软件实验讲义

实验一显示程序实验1.emu8086介绍Emu8086—Assembler and Microprocessor Emulator是一个可在Windows 环境下运行的8086CPU汇编仿真软件, Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,它优于一般编译器的地方在于提供了一个虚拟的80x86环境,拥有自己一套独立的“硬件”,可以完成一些纯软件编译器无法完成的功能例如Led显示,交通灯,步进电机等等,而且动态调试(DEBUG)时非常方便一.软件启动启动界面如图1所示,用户可以选择新建文本、程序实例、启动指南、近期文档。

注册的用户名随意,密码112,即可成功。

二.新建文件单击图1中的“New”选项,软件会弹出如图2所示的选择界面。

● COM模板——适用于简单且不需分段的程序,所有内容均放在代码段中,程序代码默认从ORG 0100H开始;● EXE模板--适用于需分段的复杂程序,内容按代码段、数据段、堆栈段划分。

需要注意的是采用该模板时,用户不可将代码段人为地设置为ORG 0100H,而应由编译器自动完成空间分配;● BIN模板--二进制文件,适用于所有用户定义结构类型;● BOOT模板—-适用于在软盘中创建文件。

此外,若用户希望打开一个完全空的文档,则可选择empty workspace的选项。

三.编译和加载程序用户可根据上述选择的模板中编写程序,如图3所示。

该编辑界面集文档编辑、指令编译、程序加载、系统工具、在线帮助为一体,其菜单功能如表1所示.编写完程序后,用户只需单击工具栏上的“compile”按钮,即可完成程序的编译工作,并弹出如图4所示的编译状态界面.若有错误则会在窗口中提示,若无错误则还会弹出保存界面,让用户将编译好的文件保存相应的文件夹中。

默认文件夹为…\emu8086\MyBuild\,但您可以通过菜单中assembler/ set output directory对默认文件夹进行修改。

80X86汇编语言程序设计 实验报告3

80X86汇编语言程序设计 实验报告3

80X86汇编语言程序设计实验报告专业:班级:日期:成绩:第三次试验指导老师:学生姓名:学号:一、实验目的(1) 加深对一些常用的汇编指令的理解;(2) 掌握基本的程序设计方法;(3) 进一步熟悉TD的使用。

二、实验内容1、《80X86汇编语言程序设计》教材中 P96的 3.11 题。

(1)请事先指出程序运行结束后,显示器显示的内容。

(2)若将NUM的定义改成如下形式:NUM DB 35显示的结果是什么?(3)若将NUM的定义改成如下形式:NUM DB 59显示的结果是什么?(4)若将NUM的定义改成如下形式:NUM DB 75显示的结果是什么?(5)修改该程序,使之能够以16进制形式显示NUM单元中的内容。

2、设在一个缓冲区BUF1中存放了一个串“123GOOD”, 将其以相反顺序拷贝到另一个缓冲区BUF2中。

(用TD观察程序执行前后的数据区,并记录下来)3、输入一个十进制数字串(假定是无符号的),以四位十六进制的形式输出该串对应的值。

例如:Input: 123↙Output: 007BH要求:(1) 画出程序流程图,给出寄存器、存储单元的分配方法;(2) 给出完整的程序清单,有必要的注释。

三、实验步骤及结果1、(1)、程序运行完之后,得到的结果为:(NUM)=39H。

(2)、程序运行完之后,得到的结果为:(NUM)=23H。

(3)、程序运行完之后,得到的结果为:(NUM)=3;H。

(4)、程序运行完之后,得到的结果为:(NUM)=4;H。

(5)、修改后的程序段如下:C1 SEGMENT USE16 ASSUME DS:A1, SS:B1, CS:C1 BEGIN: MOV AX,A1MOV DS,AXLEA DI,BUF0MOV AL,NUMSHR AL,4CMP AL,0AHJAE L1OR AL,30HMOV [DI],ALL2: INC DIMOV AL,NUMAND AL,0FHCMP AL,0AHJAE L3OR AL,30HMOV [DI],ALL4: INC DIMOV BYTE PTR [DI],'H'INC DIMOV BYTE PTR [DI],'$'LEA DX,BUFMOV AH,9INT 21HMOV AH,4CHINT 21HL1: MOV BYTE PTR [DI],'0'INC DISUB AL,0AHADD AL,'A'MOV [DI],ALJMP L2L3: SUB AL,0AHADD AL,'A'MOV [DI],ALJMP L4C1 ENDSEND BEGIN运行后的结果如下:①、当NUM为35时:②、当NUM为59时:③、当NUM为75时:④、当NUM为0ACH时:2、编写的程序如下:.386DATA SEGMENT USE16BUF1 DB '123GOOD$'BUF2 DB 0DATA ENDSSTACK SEGMENT USE16 STACK STACK ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATAMOV DS,AXMOV DI,OFFSET BUF1MOV BX,OFFSET BUF2MOV CL,[BX]LOPA: MOV DL,[DI]CMP DL,'$'JE L1INC DIJMP LOPAL1: CMP DI,0JE EXITDEC DIMOV DL,[DI]MOV CL,DLMOV [BX],CLINC BXJMP L1EXIT: MOV CL,'$'MOV [BX],CLLEA DX,BUF2MOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START运行后的结果如下:运行程序前数据区显示为:运行程序后数据区显示为:3、①、画出流程图如下:开始输入一个数字串将输入的数字串转化为10进制数存储。

《微机原理》教学课件 第3章80X86微处理器

《微机原理》教学课件 第3章80X86微处理器

23
2021/8/9
第3章 Intel 80X86微处理器
4.时序控制信号形成部件
时序控制信号形成部件,对译码器送来的控制信号,按一定 的时序关系产生控制信号序列,控制CPU内部各部件完成指令 功能。同时也发出各种外部控制信号。
时序信号的形成,是在时钟脉冲的作用下进行的。 时序控制信号要根据被控制部件的反馈信号进行调整。
15
2021/8/9
第3章 Intel 80X86微处理器
总线
总线接收器 总线发送器 总线发送器


状态寄存器

移位器


ALU


锁存器A 锁存器B



源寄存器
暂存寄存器
通用寄存器
16
2021/8/9
第3章 Intel 80X86微处理器
3.2 控制器的功能和基本组成 3.2.1 控制器的功能
14
2021/8/9
第3章 Intel 80X86微处理器
源寄存器用来存放源操作数。 暂存寄存器用来暂存中间结果。 4.移位器 移位器用来将ALU的数据进行左移、右移、直传、 半字交换等操作。供不同运算要求使用。
5.状态寄存器
状态寄存器用来存放在运算过程中得到的状态 标志(如零标志、进位标志、符号标志等),以便 供程序判断使用。
5.脉冲源,启停线路
脉冲源主要是时钟发生器,它产生一定频率的脉冲信号,作 为整个机器的时钟脉冲,该脉冲信号是机器的工作脉冲的基准 信号。
在加电时,产生一总清信号(RESET)。启停电路送出或封锁 时钟脉冲,控制时序信号的发生或停止,从而启动或停止机器。
24
2021/8/9

80x86微机原理与接口技术实验教学内容及方法

80x86微机原理与接口技术实验教学内容及方法
在采用 8088CPU 作为处理器的通用微型计算机中,系统中的所有其他部件直接与处理 器相连,处理器作为系统核心,通过 PC 总线对系统中的其他部件进行控制及数据交换。这 种 PC 总线称为 XT 总线,它采用了 8 位数据总线和 20 位地址总线,以 CPU 时钟作为总线
时钟,可支持 4 通道 DMA 和 8 级硬件中断。其结构示意如图 1-2-1 所示。
其中微机接口技术实验部分,是面向当前流行的 80x86 微机系统的,体现出贴近于应用 的内容本质。微机接口技术实验包括了四方面的内容,一是 80x86 微机系统的基本接口技术 内容,包括存储扩展、中断管理、DMA 传送、I/O 控制等,适合于所有学生进行学习和实 践;二是接口技术的控制应用内容,适合于自动化和机电控制等专业的学生进行学习和实践; 三是 PCI 总线接口技术内容,适合于所有电类或偏电类专业、包括计算机专业的学生进行 学习和实践;四是 PCI、USB 总线应用开发内容,适合于作本科毕业设计或研究生教学内容。
27.5
1
1985
80486DX
IA-32
32
32
32
8KB
25-66
120
1-0.8 1989
Pentium
IA-32
32
64
32
16KB
60-200
330
0.8-.35 1993
Pentium MMX
IA-32
32
64
32
32KB
166-233
450
0.35-.28 1996
Pentium Pro
随着微处理器和操作系统的变化,用户对微机处理的高速性能提出新的要求,为了提高 处理器与各部件及部件与部件间传输信息的整体效率,微机系统中采用了十分明确的总线分 级结构,即 CPU 总线、局部总线(PCI 总线)、系统总线结构。连接各级总线的是一些高集 成度的多功能桥路芯片,它们可以起到信号速度、电平转换和控制协议转换的作用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

80x86微机原理与接口技术
实验指导书
长安大学信息学院电子通信实验室
第1章80X86 微机原理及其程序设计实验本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。

1.1 系统认识实验
1.1.1 实验目的
掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

1.1.2 实验设备
PC机一台,TD-PITE 实验装置一套。

编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。

1.1.3 实验内容
1.1.4 实验步骤
1. 运行Wmd86 软件,进入Wmd86 集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1-1所示。

语言选择后,下次再启动软件,语言环境保持这次的修改不变。

在这里,我们选择汇编语言。

图1-1-1 语言环境选择界面
3. 语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-1-2所示。

默认文件名为Wmd861。

图1-1-2 新建文件界面。

相关文档
最新文档