第2 章 16 位微机原理及其程序设计实验
五邑大学16/32位微机原理、汇编语言及接口技术钱晓捷第2章-2
寻址方式——指CPU获得操作数的方法 操作数的存放位置: 1)在指令中,2)在寄存器中,3)在内存中
从8088/8086的指令格式入手,
立即数寻址方式 寄存器寻址方式 存储器寻址方式
进而熟悉8088/8086汇编语言指令格式,尤 其是其中操作数的表达方法 为展开8088/8086指令系统做好准备
寄存器名表示其内容(操作数)
MOV AX, BX
;AX←(BX)
演示
微机系统与接口技术
7
2.2.3 存储器寻址方式
操作数在主存储器中,用主存地址表示 程序设计时,8088采用逻辑地址表示主存地址
段地址在默认的或用段超越前缀指定的段寄存器中 指令中只需给出操作数的偏移地址(有效地址EA)
8086设计了多种存储器寻址方式 1、直接寻址方式 2、寄存器间接寻址方式 3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式
微机系统与接口技术
1
指令的组成 操作码 操要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分 操作数是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或两 个操作数,也有个别指令有3个甚至4个操作数
微机系统与接口技术
14
相对寻址方式中的位移量
在寄存器相对和相对基址变址寻址方式中,其位
移量不仅可用常量表示,也可用符号表示 这个符号可以是变量名,例如 WVAR 变量,而且 支持多种表达形式 MOV AX, [DI+WVAR] ; ;等同于 MOV AX, WVAR[DI] MOV AX,[BX+SI+WVAR] ;等同于 MOV AX, [SI+WVAR] ;等同于 MOV AX, WVAR[BX+SI] ;等同于 MOV AX, WVAR[BX][SI]
[说明]td-pitd新一代32位微机原理实验箱、微机接口技术实验系统
TD-PITD+ 新一代32位微机教学实验系统西安唐都科教仪器公司最新推出“TD-PITD+32位微机教学实验系统”,该系统基于PCI总线扩展卡扩展出80x86系统总线,支持“80x86微机原理及接口技术”、“基于Windows系统的微机原理及接口技术”实验教学和IA-32微机系统应用开发,完全解决了以往各种PCI总线扩展实验设备存在的各种问题,诸如容易死机,不易维护,实验内容少,中断、DMA、存储器扩展等实验开不了或开不全,在Windows 环境中主要实验都不能开展等等。
所以唐都32位微机教学实验系统已成为高校“80x86微机原理及接口技术”和“”微机应用及开发”等课程实验教学的不二选择。
一、支持基于80x86的16/32位微机原理及接口技术教学体系(一)全面支持基于80x86的16/32位微机原理及接口技术的实验教学系统全面支持“基于80x86的16/32位微机原理及接口技术”的实验教学,从而可使各学校由原来的“基于DOS系统的16位微机原理及接口技术”的实验教学顺利提升到“基于80x86的16/32位微机原理及接口技术”实验教学的新层次。
“基于80x86的16/32位微机原理及接口技术”实验教学体系包括:80x86实模式微机原理及接口技术(16位微机原理及其程序设计、32位指令及其程序设计、微机接口技术及其应用)和80x86保护模式微机原理及接口技术(保护模式原理及其程序设计、虚拟存储管理及存储器扩展)。
其中“8259中断控制实验”包括8259单一中断源实验、8259优先级中断实验、8259级联中断实验,“8237DMA传送实验”包括存储器到存储器、存储器到I/O之间的DMA传送实验,“存储器扩展实验”包括8/16/32位静态存储器扩展实验和Flash ROM存储器实验。
(二)Windows环境下的汇编语言和C语言源程序调试软件专为在Windows系统环境下支持80x86微机原理及接口技术的实验教学设计了一套高度可视化的先进集成开发环境,在该环境下可支持80x86汇编或C语言源语言级的编程和调试,支持实验平台上扩展的接口芯片及设备的I/O操作、中断以及DMA方式操作的编程及调试,支持实验平台上存储器的内存扩展的编程操作及调试,完全解决了基于PC微机的Windows环境下,如何通过PCI总线扩展方式,来完整开展80x86微机接口技术的实验教学问题。
微机原理实验模板
微机原理实验模板实验目的此次实验旨在让学生通过对 8086 微处理器以及基本的微机原理的学习,了解微机系统的结构、微处理器的工作原理以及编程技巧等内容。
通过操作指令,熟悉微机系统的功能以及实际应用。
实验器材•一块使用 8086 微处理器的微机板;•交叉串口线;•串口接口电缆。
实验步骤第一步:组织实验环境首先,需要确定好实验使用的操作系统是什么。
确定完毕后,我们可以准备好实验环境:•安装相关的开发工具和编程环境,如 DOSBox、MASM、调试器等;•制作启动盘(3.5 英寸干净的软盘,格式化为 MS-DOS 格式)。
第二步:编写程序接着我们开始编写程序。
程序的题目为:将 16 bit 数据从串口 1 发送到串口 0。
具体编写程序的过程如下:1.初始化串口。
2.输入数据。
3.通过串口 1 发送数据。
4.通过串口 0 接收数据。
5.循环调用以上过程,直到所有的数据都被发送。
在实际编写过程中,需要注意以下事项:•在输入数据时,需要判断数据是否有效(比如在输入十六进制数时)。
•在发送数据时,需要等待数据发送完成后再进行下一次发送。
•在接收数据时,可以先设置一个计时器,稍微等待一下再将数据读入到累加器中。
第三步:调试程序接着,我们需要调试程序。
具体的调试步骤如下:1.运行调试程序。
2.在第一行代码处打上断点。
3.执行步骤 1 和 2,以确保程序正确。
4.按 F10(步进)进行单步调试,查看程序运行情况。
5.若程序运行出错,可以使用 F10+F11(单步跳过)进行调试。
第四步:测试程序当程序调试通过后,我们就可以开始测试程序了。
具体测试步骤如下:1.将两个串口接口电缆分别插入串口 1 和串口 0。
2.执行程序,将数据从串口 1 发送到串口 0。
3.接收并检查数据,确保数据发送和接收成功。
实验总结通过此次实验,我们深入了解了微机系统的构成和微处理器的基本知识。
在编写程序时,能够更好地运用所学的知识。
在调试和测试过程中,我们更是学会了如何进行有效的调试和测试。
微机原理实验指导书(软件)
实验一系统认识与数码转换实验一、实验目的1.学习汇编语言的开发过程。
2.熟练掌握DEBUG调试程序。
参考书后附录E二、实验设备PC机一台三、实验内容及步骤1.系统认识实验在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:DATA SEGMENTBUFF DB 16 DUP (?);定义数据段DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DI,OFFSET BUFF ;设置缓冲区首址MOV CX,16 ;字节数送入CX中MOV AL,0A1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AL ;修改数据LOOP A1 ;未填完循环MOV AH,4CHINT 21HCODE ENDS ;代码段结束END START ;程序结束实验步骤:(1)把实验用的相关软件拷贝到PC机中,比如D盘的HUIBIAN文件夹(D:\HUIBIAN)。
(2)进入DOS环境(开始\程序\附件\‘C:\命令提示符’),进入路径D:\HUIBIAN。
(3)编辑,启动编辑软件EDIT,输入源程序,检查无误后存盘,如文件名11.ASM。
(4)汇编,即键入MASM 11.ASM回车,通过后应生成文件11.OBJ。
(5)连接,即键入LINK 11.OBJ回车,通过后应生成文件11.EXE。
(6)调试,即键入DEBUG 11.EXE,进入调试软件DEBUG来调试源程序。
DEBUG的用法可参考教材的附录E。
(7)运行程序,观察结果是否正确。
2.数码转换实验将十进制数的ASCⅡ码转换为BCD码。
设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为 BCD 码后,再分别存入内存缓冲区BUF2中。
提示:一字节ASCⅡ码取其低四位即变为BCD码。
实验程序如下:DATA SEGMENTBUF1 DB 31H,32H,33H,34H,35H ;定义数据段BUF2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX, 5 ;循环计数器赋初值MOV SI,OFFSET BUF1 ;ASCⅡ码首址MOV DI,OFFSET BUF2 ;BCD码首址A1: MOV AL,[SI] ;送ASCⅡ码至ALCMP AL,3AH ;比较AL与3AJAE A2 ;大于3A则转A2SUB AL,30H ;小于3A则取ASCⅡ码低4位JB A2 ;小于30则转A2MOV [DI],AL ;保存结果A2: INC SIINC DILOOP A1MOV AH,4CHINT 21HCODE ENDSEND START实验步骤(1)输入源程序,进行汇编、连接。
16、32位微机原理、汇编语言和接口技术教程课后习题答案解析
《16/32 位微机原理、汇编语言及接口技术教程》部分习题参考解答第1 章微型计算机系统概述〔习题1.2 〕什么是通用微处理器、单片机(微控制器)、芯片、嵌入式系统?〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其内部除外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题1.5 〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕:也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入()设备和输出()设备,也称设备。
设备通过接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
习题1.6 〕什么是总线?微机总线通常有哪3 组信号?各组信号的作用是什么?〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3 组信号线:数据总线、地址总线和控制总线。
(1)地址总线:传输将要访问的主存单元或端口的地址信息。
(2)数据总线:传输读写操作的数据信息。
(3)控制总线:协调系统中各部件的操作。
习题1.7 〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)(4)中断(5)总线解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
!微机原理讲义(第2章16位和32位微处理器)
斜体表示 8 位寄存器 名称
8 7 0
16 15
AH BH CH DH
AX BX CX DX BP SI DI SP
AL BL CL DL
累加寄存器 基址寄存器
15
段寄存器
0
计数寄存器
数据寄存器 基地址指针寄存器 源变址寄存器 目标变址寄存器 堆栈指针寄存器
§SP和BP寄存器与SS段寄存器联合使用以确定堆栈
段中的存储单元地址
12
微型机原理与技术
第四章 32位微处理器Pentium
BX与BP在应用上的异同
作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于寻址数据段DS;BP则 通常用于寻址堆栈段SS。
BX基址寄存器一般与DS或ES搭配使用。
5
微型机原理与技术
第四章 32位微处理器Pentium
通用寄存器
32 位 寄 存 器 名 31 称 EAX EBX ECX EDX EBP ESI EDI ESP 16 15
斜体表示8位寄存器名 称
8 7 0
AH BH CH DH
AX BX CX DX BP SI DI SP
AL BL CL
累加寄存器 基址寄存器 计数寄存器 数据寄存器 基地址指针寄存器 源变址寄存器
附加数据段寄存器 FS 附加数据段寄存器 GS
31
标志和指令指针寄存器 标志寄存器 FLAGS 指令指针寄存器 IP
0
注:图中的深色部分表明,只有32位的80386、80486,Pentium微处理器 才配备有、且可以用这些32位的寄存器。
7
微机原理实验
微机原理实验实验⼀ MASM For Windows 的使⽤及顺序程序设计⼀、实验⽬的1、熟悉在PC机上建⽴、汇编、连接、调试和运⾏8086汇编语⾔程序的过程。
2、熟悉masm for windows调试环境及DEBUG常⽤命令的使⽤⼆、实验内容1.DEBUG常⽤命令(U、R、D、E、F、T、G、Q)的操作使⽤2.编程实现两个16位⽆符号数的加、减、乘、除运算。
有两个两字节⽆符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显⽰。
相加若有进位不存⼊存储单元。
三、实验设备PC机⼀台四、实验准备1) 分析题⽬,将程序中的原始数据和最终结果的存取⽅法确定好。
2) 画出流程图。
3) 写出源程序。
4) 对程序中的结果进⾏分析,并准备好上机调试与⽤汇编程序及汇编调试的过程。
五、实验步骤1) 输⼊源程序。
2) 汇编、连接程序,⽣成 .EXE⽂件,执⾏⽂件,检查结果。
六、学⽣实验报告的要求1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。
2) 说明程序中各部分所⽤的算法。
3) 说明主要符号和所⽤到寄存器的功能。
4) 上机调试过程中遇到的问题是如何解决的。
5) 对调试源程序的结果进⾏分析。
4) 说明标志位CF、SF和OF的意义。
DEBUG的常⽤命令1、R 显⽰或修改寄存器的内容命令格式:-R2、 D 显⽰存储单元的内容命令格式:-D[地址1, 地址2]3、E修改存储单元的内容命令格式:-E[地址1, 地址2]命令格式:-U[地址1, 地址2]5、T单步执⾏命令格式:-T6、G连续执⾏命令格式:-G[=起始地址, 结束地址]A⼩汇编命令格式:-A7、Q退出DEBUG,返回DOS实验⼀源程序 EXAM1-2 .ASMDATA SEGMENTA DB 34H,18H,2 DUP(0),’$’B DB 56H,83HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AXMOV AL,AMOV BL,BADD AL,BLMOV AH,A+1MOV BH, B+1ADC AH, BHMOV A, ALMOV A+1, AHMOV CX, 0004HMOV DI, OFFSET AMOV DX, [ DI]ADD DI,03NEXT: MOV AX, DXAND AX,000FHCMP AL,0AHJB QQQADD AL, 07HMOV [DI], ALDEC DIPUSH CXMOV CL, 04SHR DX, CLPOP CXLOOP NEXTMOV DX, OFFSET AMOV AH, 09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START执⾏程序EXAM1-2·EXE,屏幕上显⽰结果:9B8A实验⼆分⽀、循环程序设计⼀、实验⽬的1) 掌握分⽀、循环程序的结构。
微机原理软件实验报告
实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。
2. 掌握汇编语言程序设计的基本方法。
3. 通过实验,加深对微机原理的理解。
二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。
2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。
四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。
微机原理实验指导书(修改1023)
微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。
⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。
⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。
2.启动调试程序(Debug)。
3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。
(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。
2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。
3.输入不同的字符串,可得到不同的结果。
⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。
⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。
◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。
微机原理第02章1
第2章: 溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(2)变址寄存器
16位变址寄存器SI和DI 常用于存储器变址寻址方式时提供地址
SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index)
在串操作类指令中, SI 、 DI 还有较特殊的 用法 现在不必完全理解,以后会详细展开
第2章:溢出和进位的应用场合
处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志 CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
第2章:符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1; 否则SF=0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH+7CH=B6H,最高位D7=1:SF=1
84H+7CH=(1)00H,最高位D7=0:SF=0
第2章:奇偶标志PF(Parity Flag)
第2章:辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF=1;否则AF=0
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中, 用户一般不必关心 3AH+7CH=B6H,D3有进位:AF=1
《微机原理》实验指导
《微机原理》实验指导书制订教师:王晓锐2015年4月目录实验1 EMU8086操作 (3)实验2 简单程序设计 (4)实验3 分支程序设计 (5)实验4 循环程序设计 (6)实验5 简单LED控制实验 (7)附录A:Emu8086使用指南 (8)附录B:源程序代码 (17)实验1 EMU8086操作1 实验目的:熟悉仿真软件emulator的使用。
熟悉指令系统和常用的伪指令,掌握简单程序的设计方法。
2 实验内容1:编写计算F=XY+Z-500的程序,其中X,Y,Z均为无符号的字节操作数。
程序代码如下所示。
DATA SEGMENTX DB 29Y DB 8Z DB 25F DW ?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV AL,XMUL YMOV BH,0MOV BL,ZADD AX,BXSUB AX,500MOV F,AXMOV AX,4C00HINT 21HCODE ENDSEND START(1)请阅读该程序,并写出注释。
(2)在emulator中输入以下代码,进行调试。
(3)请写出计算的结果是多少。
(4)请说明变量X,Y,Z和F的物理地址是多少。
4 实验报告:请采用标准的实验报告纸,按照以上实验要求完成实验报告,最后进行实验总结,给出在调试过程中遇到的问题以及如何实验2 简单程序设计实验题目:进一步熟悉指令系统和常用的伪指令,掌握简单程序设计的方法、熟悉逻辑运算指令与算术运算指令。
实验内容:编写一个32位无符号数除法的程序。
存放在NUM1中的32位无符号数与存放在NUM2中的16位无符号数相除,商和余数分别存放在NUM3和NUM4中。
数据段的定义如下以及除法程序片段如下所示。
写出该程序,并在emulator中调试这个程序。
数据定义片段:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?除法程序片段:MOV AX,WORD PTR NUM1MOV DX,WORD PTR [NUM1]+2DIV NUM2MOV NUM3,AXAND NUM4,DX实验知识点:伪指令,简单的程序设计,逻辑操作,算术运算指令实验报告:1、画出实验程序的流程图。
[电脑基础知识]Wmd86实验指导书简
第1 章TD-PITE实验系统简介1.1 实验系统配置TD-PITE实验系统由I386EX系统板和接口实验平台两部分组成。
其配置情况如表1-1所列。
表1-1 TD-PITE系统的主要配置1.2 实验系统总线系统总线以排针的形式引出。
实验时,与实验单元相连可完成相应的实验。
系统引出信号线说明见表1-2。
表1-2 80X86微机系统信号线注:#号表示低电平有效1.3 实验系统软件实验系统软件Wmd86.exe 已安装在PC 机开始菜单的程序选项中,一般在桌面上建立了名为Wmd86 4.1的快捷方式。
它为集编辑、编译、链接、执行、调试及监视与输出于一体的集成开发软件,下面简单介绍该软件的使用方法。
运行该软件和其它应用软件唯一不同的是:要保证实验箱电源接通。
即PC 机与实验箱保持通信状态。
运行该软件后,在PC 机屏幕上出现Wmd86主窗口,如图1-1所示。
窗口分成四部分:菜单与工具栏区、程序编辑区、寄存器/变量/堆栈区和输出区。
图1-1 Wmd86集成开发环境1.菜单与工具栏区操作方法同其它菜单和工具栏的使用,故不予介绍。
仅介绍一些本系统特有的工具按钮。
其中,编译工具栏图标含义如下:为编译按钮:当实验程序调入或写入程序编辑区时该按钮有效。
编译当前实验程序,在源程序所在目录下生成同名的目标文件。
为链接按钮:当实验程序编译完成后有效。
在源程序所在目录下生成同名的可执行文件。
为加载按钮:当实验程序链接完成后有效。
把链接生成的可执行文件传送到下位机中,即实验系统的存储器中。
为编译、链接和加载:当实验程序调入或写入程序编辑区时有效。
依次执行编译、链接和加载。
调试工具栏的所有按钮只仅在实验程序加载完成后有效。
图标含义如下:为监视变量按钮:设置要观察的全局变量。
设置后才能在集成环境中的变量区出现要观察的变量。
为堆栈监视按钮:选择要监视堆栈后,才能在集成环境中的堆栈区观察堆栈的变化情况。
为设置起点按钮:当前光标所在行为当前行,此命令把当前行设置为程序的起点,即程序开始执行的行。
(完整word版)微机原理完整实验报告+程序
实验题目8253定时/计数器实验 一、 实验目的与要求: 1. 学会8253芯片和微机接口原理和方法。
2. 掌握8253定时器/计数器的工作方式和编程原理。
二、 实验内容: 1、实验原理 本实验原理图如图 1所示,8253A 的A0、A1接系统地址总线 A0、A1,故8253A 本实验通道2 有四个端口地址,如端口地址表 1所示。
8253A 的片选地址为 48H~ 4FH 。
因此, 仪中的8253A 四个端口地址为 48H 、49H 、4AH 、4BH ,分别对应通道 0、通道1、 和控制字。
采用8253A 通道0,工作在方式3(方波发生器方式),输入时钟CLK0为 输出OUTO 要求为1KHZ 的方波,并要求用接在 GATE0引脚上的导线是接地("0" 甩空("1"电平)来观察GATE 对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接 (1) 8253A 芯片的CLK0引出插孔连分频输出插孔 (2) 8253A 的 GATE0 接+5V 。
实验步骤 (1) 按图1连好实验线路(2) 运行实验程序 1. 按“调试”按钮2. 选“窗口” “进入示波器窗口” ,然后最小化3. 按“运行按钮”4.将模拟示波器窗口打开,选择“串行口 2”,再按 Ctrl + F2按钮即可看到波形 显示“ 8253-1 ”用示波器测量8253A 的OUT2输出插孔,方波输出,幅值0〜4V 三、实验代码: 1MHZ ,电平)或 3、 CODE SEGMENT ASSUME CS:CODE TCONTRO EQU 004BH TCON2 EQU 004AH CONT PORT EQU 00DFH DATA PORT EQU 00DEH DATA1 EQU 0500H START: JMP TCONT TCONT: CALL FORMATCALL LEDDIS P MOV DX,TCONTRO1MHZ 。
微机原理 第2章_8086系统结构
8086 CPU的引脚及其功能
8086 CPU的两种工作模式
最小模式:用于单机系统,系统所需要的控 制信号由8086直接提供,MN/MX=1,CPU 工作于最小模式 最大模式:用于多处理机系统,系统所需的 控制信号由总线控制器8288提供, MN/MX=0,CPU工作于最大模式
8086 CPU在最小模式下的引脚定义 8088与8086的区别
通 用 寄 存 器
AX BX CX DX SP BP SI DI
8086 CPU结构框图
20位地址总线
Σ
数据 总线 16位
ALU数据总线 (16位) 暂存器
队列 总线 (8位)
CS DS SS ES IP 内部寄存器 指令队列
总线 控制 电路 8086 总线
ALU
标志寄存器
EU 控制器
1 3 4 5 6
PSW
存放状态标志、控制标志和系统标 志
PSW格式:
15 11 10
OF DF
9 IF
8
7
6
4 AF
2 PF
0 CF
TF SF ZF
状态标志
状态标志用来记录程序中运行结果的状态信息,它们根据有关指 令的运行结果由CPU自动设置,这些状态信息往往作为后续条件 转移指令的转移控制条件,包括6位: OF:溢出标志,在运算过程中,如操作数超出了机器数的表示范 围,称为溢出,OF=1,否则OF=0 SF:符号标志,记录结果的符号,结果为负SF=1,否则SF=0 ZF:零标志,运算结果为0,ZF=1,否则ZF=0 CF:进位标志,进行加法运算时从最高位产生进位,或减法运算 从最高位产生借位CF=1,否则CF=0 AF:辅助进位标志:本次运算结果,低4位向高4位产生进位或借 位,AF=1,否则AF=0 PF:奇偶标志,用来为机器中传送信息时可能产生的代码出错情 况提供检验条件,当结果操作数中低8位中1的个数为偶数时PF=1, 否则PF=0
微机原理上机实验(六+十)实验报告 74HC138译码器实验 16x16点阵显示实验
微机原理上机实验报告实验六:74HC138译码器实验实验十:LED 16x16点阵显示实验微机原理上机实验(六)实验报告实验六:74HC138译码器实验一、实验目的1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。
2、认真预习本节实验内容,尝试自行编写程序,填写实验报告二、实验内容1、编写程序:使用8255的PC0、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
三、实验原理图四、实验步骤1、连线说明:F7区:A、B、C ——D3区:PC0、PC1、PC2F7区:G1、G2A、G2B ——C1区:VCC、GND、GNDF7区:JP63 ——F4区:JP18(LED指示灯)D3区:CS、A0、A1 ——A3区:CS1、A0、A12、调试程序,查看运行结果是否正确五、实验代码Con_8255 EQU 0273H ;8255控制口PC_8255 EQU 0272H ;8255 PC口_STACK SEGMENT STACK ;设置堆栈段DW 100 DUP(?)_STACK ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, SS:_STACKMOV DX,Con_8255MOV AL,80HOUT DX,AL ;8255初始化,PC口作输出用,向8255的控制口输入置位/复位控制字10000000B,PC0~PC7全部复位MOV DX,PC_8255MOV AL,0START1: OUT DX,AL 将00000000B输入8255的PC口CALL Delay 延时INC AL AL加一JMP START1 循环Delay PROC NEAR ;延时Delay1: XOR CX,CX ;CX清零LOOP $ 当前位置循环一次后推出RETDelay ENDPSTART ENDPCODE ENDSEND START六、实验思考题1.在应用系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理?将输入信号转换为三位无符号二进制数,将转换后的数据由低到高分别输入74HC138的A、B、C口,即可实现对最多8的模块的片选功能。
实验二16位算术逻辑运算实验
实验三16位算术逻辑运算实验一、实验目的1、掌握16位运算器的数据传送通路组成原理。
2、进一步验证算术逻辑运算功能发生器74LS181的组合功能。
3、按要求和给出的数据完成几种指定的算术逻辑运算。
二、实验内容1、实验原理16位运算器数据通路如图2-1所示,其中运算器由四片74LS181以并/串形成16位字长的ALU构成。
低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,低8位数据总线通过LZD0~LZD7显示灯显示;高8位运算器的输出经过一个三态门74LS245(U33`)到ALUO1`插座,实验时用8芯排线和高8位数据总线BUSD8~D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8~LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据源来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,输入的数据通过LD0~LD7显示。
2、实验接线本实验需用到6个主要模块:①低8位运算器模块;②数据输入并显示模块;③数据总线显示模块;④功能开关模块(借用微地址输入模块);⑤高8位运算器模;,⑥高8位(扩展)数据总线显示模块。
根据实验原理详细接线如下(接线①~⑤同实验一):①ALUBUS连EXJ3;②ALUO1连BUS1;③SJ2连UJ2;④跳线器J23上T4连SD;⑤LDDR1、LDDR2、ALUB、SWB四个跳线器拨至左侧(手动方式);⑥AR跳线器拨至左侧,同时开关AR拨至“1”电平;⑦ALUBUS`连EXJ2;⑧ALUO1`连KBUS1;⑨跳线器J19、J25拨至左侧(16位ALU状态);⑩高8位运算器区跳线器ZI2、CN0、CN4连上短路套。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2 章 16 位微机原理及其程序设计实验
本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。
2.1 系统认识实验
2.1.1 实验目的
掌握TD 系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86 联机集成开发调试软件的操作环境。
2.1.2 实验设备
PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。
2.1.3 实验内容
编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。
2.1.4 实验步骤
1. 运行Wmd86 软件,进入Wmd86 集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16 位寄存器”,如图2.1、图2.2 所示。
设置选择
后,下次再启动软件,语言环境保持这次的修改不变。
本章选择16 位寄存器。
80X86 微机原理及接口技术实验教程西安唐都科教仪器公司
15
图2.1 语言环境设置界面
图2.2 寄存器设置界面
3. 语言和寄存器选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图2.3 所示。
默认文件名为Wmd861。
图2.3 新建文件界面
4. 编写实验程序,如图2.4 所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
80X86 微机原理及接口技术实验教程西安唐都科教仪器公司
16
图2.4 程序编辑界面
5. 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可
以加载程序。
编译、链接后输出如图2.5 所示的输出信息。
图2.5 编译输出信息界面
6. 连接PC 与实验系统的通讯电缆,打开实验系统电源。
7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中
会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
如图2.6
所示。
80X86 微机原理及接口技术实验教程西安唐都科教仪器公司
17
图2.6 加载成功显示界面
8. 将输出区切换到调试窗口,使用D0000:3000 命令查看内存3000H 起始地址的数据,如图2.7 所示。
存储器在初始状态时,默认数据为CC。
图2.7 内存地址单元数据显示
9. 点击按钮RUN运行程序,待程序运行停止后,通过D0000:3000 命令来观察程序运行结
80X86 微机原理及接口技术实验教程西安唐都科教仪器公司
18
果。
如图2.8 所示。
图2.8 运行程序后数据变化显示
10. 也可以通过设置断点,断点显示如图2.9 所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。
可以使用E0000:3000 来改变该地址单元的数据,如图2.10 所示,
输入11 后,按“空格”键,可以接着输入第二个数,如22,结束输入按“回车”键。
图2.9 断点设置显示
图2.10 修改内存单元数据显示界面
实验例程文件名为Wmd861.asm。
2.1.5 操作练习
编写程序,将内存3500H 单元开始的8 个数据复制到3600H 单元开始的数据区中。
通过调试验证程序功能,使用E 命令修改3500H 单元开始的数据,运行程序后使用D 命令查看
3600H 单元开始的数据。