汇编实验
更新时间:2023-12-23 19:06:01 阅读量: 教育文库 文档下载
实验一 系统认识实验
1 实验目的
掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 2 实验设备
PC机一台,TD-PITE实验装臵一套。 3 实验内容
编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。 4 实验步骤
1). 运行Wmd86软件,进入Wmd86集成开发环境。
2). 根据程序设计使用语言的不同,通过在?设臵?下拉列表来选择需要使用的语言和寄存器类型,这里我们设臵成?汇编语言?和?16位寄存器?,如图1、图2所示。设臵选择后,下次再启动软件,语言环境保持这次的修改不变。本课程选择16位寄存器。
图1 语言环境设置界面
图2寄存器设置界面
3). 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图3所示。默认文件名为Wmd861。
图3 新建文件界面
4). 编写实验程序,如图4所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图4 程序编辑界面
5). 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可以加载程序。编译、链接后输出如图5所示的输出信息。
图5 编译输出信息界面
6). 连接PC与实验系统的通讯电缆,打开实验系统电源。
7). 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的?端口测试来检查通讯是否正常。点击下载程序。为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图6所示。
图6 加载成功显示界面
8). 将输出区切换到调试窗口,使用D0000:3000命令查看内存3000H起始地址的数据,如图7所示。存储器在初始状态时,默认数据为CC。
图7 内存地址单元数据显示
9). 点击按钮运行程序,待程序运行停止后,通过D0000:3000命令来观察程序运行结果。如图8所示。
图8 运行程序后数据变化显示
10). 也可以通过设臵断点,断点显示如图9所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。可以使用E0000:3000来改变该地址单元的数据,如图10所示,输入11后,按空格键,可以接着输入第二个数,如22,结束输入按,回车键。
图9 断点设臵显示
图10 修改内存单元数据显示界面
5 操作练习
编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。
实验二 分支程序设计实验
1 实验目的
1). 掌握分支程序的结构。
2). 掌握分支程序的设计、调试方法。 2 实验设备
PC机一台,TD-PITE实验装臵一套。 3 实验内容
设计一数据块间的搬移程序。
设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。 4 实验步骤
1). 编写实验程序,经编译、链接无误后装入系统。 2). 用E命令在以SI为起始地址的单元中填入16个数。 3). 运行程序,待程序运行停止。
4). 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。
5). 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。
实验三 循环程序设计实验
1 实验目的
1). 加深对循环结构的理解。
2). 掌握循环结构程序设计的方法以及调试方法。 2 实验设备
PC机一台,TD-PITE实验装臵一套。 3 实验内容
1)计算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。
2)求某数据区内负数的个数 设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得到区内所包含负数的个数。 4 实验步骤
(1)编写实验程序,编译、链接无误后装入系统。 (2)运行程序,待程序运行停止。
(3)运算结果存储在寄存器中,查看结果是否正确。 (4)可以改变条件来验证程序功能是否正确。
实验四
实验五 8259中断控制实验
1 实验目的
1). 掌握8259中断控制器的工作原理。 2). 学习8259的应用编程方法。 3). 掌握8259级联方式的使用方法。 2 实验设备
PC机一台,TD-PITE实验装臵一套。 3 实验内容及步骤
1). 中断控制器8259简介
在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。 在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。
表4 ICU寄存器列表 寄存器 口地址 ICW1(主) ICW10020H (从) (只写) 00A0H ICW2(主) ICW20021H (从) (只写) 00A1H ICW3(主) (只0021H 写) ICW3(从) (只00A1H 写) ICW4(主) ICW40021H (从) (只写) 00A1H OCW1(主) OCW10021H (从) (读/写) 00A1H OCW2(主) OCW20020H (从) (只写) 00A0H 功能描述 初始化命令字1: 决定中断请求信号为电平触发还是边沿触发。 初始化命令字2: 包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推。 初始化命令字3: 用于识别从8259设备连接到主控制器的IR信号,内部的从8259连接到主8259的IR2信号上。 初始化命令字3: 表明内部从控制器级联到主片的IR2信号上。 初始化命令字4: 选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。 操作命令字1: 中断屏蔽操作寄存器,可屏蔽相应的中断信号。 操作命令字2: 改变中断优先级和发送中断结束命令。 OCW3(主) OCW30020H (从) (只写) 00A0H IRR(主) IRR0020H (从) (只读) 00A0H ISR(主) ISR0020H (从) (只读) 00A0H POLL(主) POLL0020H (从) (只读) 0021H 00A0H 00A1H 操作命令字3: 使能特殊屏蔽方式,设臵中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器。 中断请求: 指出挂起的中断请求。 当前中断服务: 指出当前正在被服务的中断请求。 查询状态字: 表明连接到8259上的设备是否需要服务,如果有中断请求,该字表明当前优先级最高的中断请求。 在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。
在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。 系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示: 主片中0 1 2 3 4 5 6 7 断序号 功能调08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 用 矢量地20H~24H~28H~2CH~30H~34H~38H~3CH~址 23H 27H 2BH 2FH 33H 37H 3BH 3FH 说明 未开放 未开放 未开放 未开放 串口 未开放 可用 可用 从片中0 1 2 3 4 5 6 7 断序号 功能调30H 31H 32H 33H 34H 35H 36H 37H 用 矢量地C0H~C4H~C8H~CCH~D0H~D4H~D8H~DCH~址 C3H C7H CBH CFH D3H D7H DBH DFH 说明 未开放 可用 未开放 未开放 未开放 未开放 未开放 未开放 2). 8259单中断实验
系统总线单次脉冲单元MIR7KK1+主8259实验接线图如下图所示,单次脉
冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符’7’。
图8259单中断实验接线图
3)参考程序: CODE SEGMENT ASSUME CS:CODE START: PUSH DS
MOV AX, 0000H MOV DS, AX
MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH
MOV [SI], AX ;填IRQ7的段地址矢量 CLI POP DS
;初始化主片8259 MOV AL, 11H
OUT 20H, AL ;ICW1 MOV AL, 08H
OUT 21H, AL ;ICW2 MOV AL, 04H
OUT 21H, AL ;ICW3 MOV AL, 01H
OUT 21H, AL ;ICW4 MOV AL, 6FH ;OCW1 OUT 21H, AL STI
AA1: NOP
JMP AA1 MIR7: STI
CALL DELAY MOV AX, 0137H
INT 10H ;显示字符7 MOV AX, 0120H INT 10H MOV AL, 20H
OUT 20H, AL ;中断结束命令 IRET
DELAY: PUSH CX
MOV CX, 0F00H AA0: PUSH AX
POP AX LOOP AA0 POP CX RET CODE ENDS END START 4实验步骤
(1)按图连接实验线路。
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符说明响应了中断。
7’,‘实验六 8255 并行接口实验
1 实验目的
1). 学习并掌握8255的工作方式及其应用。 2). 掌握8255典型应用电路的接法。
3). 掌握程序固化及脱机运行程序的方法。 2 实验设备
PC机一台,TD-PITE实验装置一套。 3 实验内容
1). 基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。
2). 流水灯显示实验。编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4 实验原理
8255内部结构及外部引脚
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C口按位臵位/复位控制字格式如
图所示。
8255控制字8255实验单元电路图如图所示:
5 实验步骤
1). 基本输入输出实验 本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述:
(1)实验接线图如下图所示,按图连接实验线路图。
DW 32 DUP(?) SSTACK ENDS CODE SEGMENT
ASSUME CS:CODE, SS:SSTACK START: PUSH DS MOV AX, 0000H MOV DS, AX
MOV AX, OFFSET IRQ7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH
MOV [SI], AX ;填IRQ7的段地址矢量 CLI
POP DS ;初始化主片8259 MOV AL, 11H
OUT 20H, AL ;ICW1 MOV AL, 08H
OUT 21H, AL ;ICW2 MOV AL, 04H
OUT 21H, AL ;ICW3 MOV AL, 01H
OUT 21H, AL ;ICW4 MOV AL, 6FH ;OCW1 OUT 21H, AL ;8254 MOV DX, CON8254
MOV AL, 10H ;计数器0,方式0 OUT DX, AL MOV DX, A8254 MOV AL, 04H OUT DX, AL STI
AA1: JMP AA1
IRQ7: MOV DX, A8254 MOV AL, 04H
OUT DX, AL MOV AX, 014DH
INT 10H ;显示字符M MOV AX, 0120H INT 10H
MOV AL, 20H
OUT 20H, AL ;中断结束命令 IRET CODE ENDS END START
正在阅读:
汇编实验12-23
活载作用下弯矩二次分配07-18
2017-2018年北师大七年级下册数学第三次月考试卷及答案01-08
计算机图形学考试题及答案04-02
电子商务企业文化建设实例剖析06-01
汽车尾气检测项目1 - 图文04-12
大一基础工业工程实验报告(武汉理工大学)03-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 汇编
- 实验
- 徐州市2009-2010学年度高三第三次调研考试 化学
- 班主任学习材料(一)
- 螺栓及螺母最大扭矩推荐值
- 铁道部认证的64家外加剂企业合格供应商名录
- 立足现实,搞好地理教学
- 《天净沙秋思》《散文诗两首》4
- 如何正确理解改革开放是决定当代中国命运的关键抉择
- 简述控制轧制与控制冷却在棒线轧制生产中的应用
- 7、会话跟踪技术
- 2018年九年级化学上册第五单元化学方程式5.3利用化学方程式的简单计算教案新版新人教版
- 110KV线路跨越三措方案
- 电子琴在音乐课中使用的好处
- 011--热力学与统计物理
- 7 - 1 - 青少年科技知识、科普知识、知识竞赛题
- 质押监管业务市场调研报告
- 全国2005年1月高等教育自学考试
- “十三五”重点项目-人参银杏项目申请报告
- 关于建军节的作文:中国人民解放军大阅兵
- 宁夏省银川市实验中学20092010学年高三第一次月考化
- 福建省情简介 - 图文