【微机实验】2018东南大学微型计算机原理及应用实验二
东南大学微机实验综合课程设计
东南大学自动化学院微机实验及课程设计报告《参数可调波形发生器》姓名:学号:专业:实验室:组别:同组人员:设计时间:评定成绩:审阅教师:目录一.设计目的和要求--------------------------------------3 二.原理设计--------------------------------------------4 三.方案论证与实现--------------------------------------6 四.设计思路及流程图--------------------------------------------------------7 五.编程实现--------------------------------------------------------------------10六.方案测试与结果分析----------------------------------18 六.改进与提高------------------------------------------19 七.分析与总结------------------------------------------19一、设计要求1)基本要求编制1 个参数在线可调的波形发生程序,由D/A 输出,构成参数在线可调的波形发生器,并用示波器观察波形。
函数波形可选f(t)=asin(bt),其中a、b参数在线可调(也可自己选择,但要求至少2 个参数可调且调节很明显)。
参数调节采用如下两种方式之一:(1)两个可调电位器输出通过A/D 转换后作为可调参数;(2)参数通过实验装置上的键盘实时修改(调整);(3)精确时间,开关选择标准信号输出(例如a=2V, b=100πRAD/s,即50Hz 正弦波)。
2)设计提示(1)当用电位器调节参数时,输出零不能对应相应的参数值就为零;(2)当通过键盘修改参数时,先键入参数名如“a”,显示当前参数值,修改后再键入参数名,则修改参数完成,随后输出波形发生变化。
东南大学微机实验报告(二)
东南大学《微机实验及课程设计》实验报告实验二、汇编语言程序设计姓名:学号:专业:实验室评定成绩:审阅教师:实验目的:进一步熟悉汇编语言的编辑、宏汇编、链接和运行的基本概念熟练掌握动态调试程序TD/DEBUG的常用指令和窗口功能,学会用TD/DEBUG调试程序,修改数据和寄存器环境熟悉掌握汇编语言程序的典型数据结构设计、典型程序控制方法,了解DOS/BIOS功能调用的基本方法实验内容:基本操作内容:(1)、掌握进入全屏命令行方式、修改环境的方法启动开始菜单里的运行选项,键入cmd,即可启动命令行方式,在其属性栏中选择全屏即可进入全屏命令行方式。
(2)、确定源程序的存放目录,构建个人实验环境。
(3)、建立、编辑汇编源程序选择程序样本,构建典型的汇编程序框架,包括基本的数据段、堆栈段和代码段,编写程序实现如下功能:必做:2-1.从键盘输入任意字符串后,存入自定义存储单元,判断处理后将字符串中小写字母转换为大写字母(其它字符不变),并按原顺序将这些字符在屏幕上显示出来(参考程序P36),并显示字符串“The total number is XXXXX”。
2-2.从键盘输入一个0~255之间的十进制数,将其转换为16进制数,并在屏幕上显示变换前后的数据(参考程序P38)。
选作:2-3、从键盘输入5个十六进制带符号数(范围为-128~+127),请将它们按从大到小排序,并将排序前后的数据显示在屏幕上。
(4)、用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件,将所要变异的源程序文件(文件名.asm)放到带汇编工具的文件夹中,在全屏命令行模式下,进入该文件夹,输入tasm 文件名.asm,回车后即可编译产生OBJ目标文件。
(5)、用链接程序(LINK/TLINK.EXE)产生EXE可执行文件,产生OBJ目标文件后,继续输入:tlink 文件名.obj,回车后即可产生EXE可执行文件。
(6)、用调试工具软件(TD.EXE/)调试执行程序○1在Windows中启动TDa、仅启动TD而不载入要调试的程序双击TD.EXE文件名,Windows就会打开一个DOS窗口并启动TD。
微机原理实验2 JW
上机报告
2011 / 2012 学年第 1 学期
课程名称:微型计算机原理及其应用
上机项目:汇编语言程序设计
专业班级:电子信息工程0904班
姓名:姜伟学号:090402113 机房号:信息220 机号: 10 上机时间: 2011.12.8 批阅时间:
指导教师:刘革成绩:
一.上机项目:
汇编语言程序上机
二.上机目的:
1.了解上机操作过程。
2.掌握上机调试程序方法。
3.掌握程序结果查找方式。
三.上机过程:
1.准备源程序和工具软件
源程序要已知运行结果。
工具软件包括 MASM.EXE LINK.EXE DEBUG.EXE COMMAND.EXE 2.操作步骤:
(1)用EDIT建立源程序文件。
程序1
程序2
(2)用MASM汇编,找出语法错误。
(3)用LINK连接,生成目标文件
(4)执行程序
(5)用DEBUG调试程序(找出算法错误)使用U命令——反汇编命令
G命令——执行命令
R命令——显示与修改寄存器命令
D命令——显示内存单元的内容命令
程序1
程序2
四.上机结论:
程序调试结果程序1为28H,程序2结果为9C4H。
通过上机操作,我学会了用汇编语言,掌握了上机调试程序的方法,也学会了查找结果。
五.上机心得与体会:
在上机过程中,源程序在汇编时发生语法错误,我学会了查找并排除错误。
还掌握了查
找程序结果的方法,掌握了汇编语言的调试方法,熟悉了上机环境和上机过程。
东南大学最后一次微机实验报告
东南大学电子科学与工程学院实验报告课程名称:微机原理与接口技术实验名称:交通灯控制实验姓名:学号:实验室:516室实验组别:同组人员:实验时间:2016 年5 月23 日评定成绩:审阅教师:实验报告要求实验准备1.实验目的和要求(或主要性能指标)2.实验原理及实现方案3.实验方案设计与参数选择4.需测量参数及数据测量方法5.理论计算数据或软件模拟数据6.实验数据记录格式7.实验使用仪器设备(包括仪器设备名称、型号、规格、编号、使用状况)8.实验过程或实验步骤实验过程1.实验步骤和实验数据记录2.实验最终方案和方案参数3.实验中出现的问题及解决方法实验总结1.实验数据处理2.实验误差分析3.实验结果讨论4.实验心得注:页面不够可以加页一、实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二、实验内容如图2-29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮(3)南北路口的红灯、东西路口的绿灯同时亮(4)南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次。
2东南大学电子科学与工程学院实验报告用纸东南大学电子科学与工程学院实验报告用纸3三、硬件连接图四、编程参考流程图五、基础部分代码;***********************************;;* 十字路口红绿灯模拟演示程序*;;* 端口各灯的设置: *;;* 1红1黄1绿0 0 2红2黄2绿*;;***********************************;data segmentioport equ 0ec00h-0280hio8255a equ ioport+28ahio8255b equ ioport+28bhportc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据db 0ffh ;结束标志data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8255bmov al,90hout dx,al ;设置8255为C口输出mov dx,io8255are_on: mov bx,0on: mov al,portc1[bx]cmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bx4东南大学电子科学与工程学院实验报告用纸mov cx,2000 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,0FFFFH ;有,长延时de1: mov di,0FFFFHde0: dec dijnz de0loop de1push dxmov ah,06hmov dl,0ffhint 21hpop dxjz on ;没有,转到onexit: mov ah,4ch ;返回int 21hcode endsend start代码分析:主要分析灯的延迟时间这部分。
微型计算机原理及应用实验
YANGTZE NORMAL UNIVERSITY
实验2 实验2 算术运算程序设计
一、实验目的
✿ 掌握汇编语言中的数值接收方法; 掌握汇编语言中的数值接收方法; ✿ 掌握算术运算程序的编写与结果显示方法; 掌握算术运算程序的编写与结果显示方法; ✿ 掌握宏定义与调用方法
二、实验内容
从键盘接收运算式,编程实现两位十进制数的算术运算( 从键盘接收运算式,编程实现两位十进制数的算术运算( ),若输入的不是数字或运算符 若输入的不是数字或运算符, 加、减、乘、除),若输入的不是数字或运算符,进行错误处 Esc键退出 键退出。 理,按Esc键退出。
✿ 掌握在磁盘上建立文件夹的程序设计方法; 掌握在磁盘上建立文件夹的程序设计方法; ✿ 掌握在文件夹下建立文件的程序设计方法; 掌握在文件夹下建立文件的程序设计方法; ✿ 掌握对文件的读、写、关闭的程序设计方法 掌握对文件的读、
YANGTZE NORMAL UNIVERSITY
二、实验内容
✿ 编程实现文件、文件夹的建立、写入、字符串接收等基本操 编程实现文件、文件夹的建立、写入、 作; ✿ 具体要求: 具体要求: 清屏,将光标置于5 从键盘接收最多80 80个字符的字 ①清屏,将光标置于5行,0列,从键盘接收最多80个字符的字 符串,将接收字符串中的小写字母全部转换成大写, 符串,将接收字符串中的小写字母全部转换成大写,其余不 变; 10行 列开始显示转换后的字符串; ②从10行,0列开始显示转换后的字符串; 盘上建立一文件夹USER USER; ③在D盘上建立一文件夹USER; ④将转换后的字符串写入文件'D:\USER\STRING.TXT中。 将转换后的字符串写入文件'D:\USER\STRING.TXT中 'D: 文件操作时要求有相应的提示信息) (注:文件操作时要求有相应的提示信息)
微型计算机原理及应用课后答案
第1章习题1.3简述3个门电路的基本元素在电路中对电平高低的作用。
答:与、或、非。
1.4 布尔代数有哪两个特点?答:(1)值只有两个;(2)只有与、或、反3种运算。
1.5 布尔代数的“或运算”结果可用哪两句话来归纳?其“与运算”又可归纳成哪两句话“答:(1)“或运算”运算结果为有一真必为真,两者皆假才为假。
(2)“与运算”有一假即为假,两者皆真才为真。
1.6 什么叫原码、反码及补码?答:原码就是一个数的机器数。
反码:将原码每位取反,即为反码。
更准确的是:正数的反码就等于它的原码;负数的反码就是它的原码除符号位外,各位取反。
补码:反码加1就是补码。
更准确的是:正数的补码就等于它的原码;负数的补码就是它的反码加1。
1.7 为什么需要半加器和全加器,它们之间的主要区别是什么?答:(1)因为加法的第一位没有进位,所以用半加器即可;而第二位起可能有进位,故需要考虑全加器;(2)两者的区别是半加器为双入双出,全加器为三入双出。
第2章习题2.2 触发器、寄存器及存储器之间有什么关系?请画出这几种器件的符号。
答:触发器是存放一位二进制数字信号的基本单元。
触发器是计算机的记忆装置的基本单元,也可以说是记忆细胞。
触发器可以组成寄存器,寄存器又可以组成存储器。
寄存器和存储器统称为计算机的记忆装置。
(2)其符号分别表示如下:2.4 累加器有何用处?画出其符号。
答:累加器作为ALU运算过程的代数和的临时存储处。
2.5 三态输出电路有何意义?其符号如何画?答:三态输出电路使得一条信号传输线既能与一个触发器接通,也可以与其断开而与另外一个触发器接通,从而使得一条信号线可以传输多个触发器的信息。
2.6 何谓L门及E门?它们在总线结构中有何用处?答:(1)L门:高电平时使数据装入、低电平时数据自锁其中的电路;E门:E门即三态门,当选通端E门为高电平时,可将信息从A端送到B端。
(2)L门专管对寄存器的装入数据的控制,而E门志管由寄存器输出数据的控制。
微型计算机原理及应用-实验指导
目录实验一EMU8086及Proteus基本应用实验 (2)实验二汇编指令的认识及EMU8086基本应用实验 (6)实验三汇编基本指令实验 (10)实验四顺序程序设计实验 (11)实验五分支、循环程序设计实验 (12)实验六数据排序实验 (14)实验七统计学生成绩实验 (16)实验八过程(子程序)设计与调试 (19)实验九8253定时器应用实验 (21)实验十8255并行口应用实验 (24)实验十一8253定时器及NMI中断实验 (28)实验一EMU8086及Proteus基本应用实验一、实验目的(1)熟悉实验软件emu8086使用方法(2)熟悉Proteus仿真软件的仿真二、实验内容8086控制一个发光二极管(Light Emitting Diode,LED)实现闪烁灯。
可直接由8086 输出端口AD0 通过接口电路控制一个发光二极管,在PC 上运行仿真软件Proteus ISIS(原理图可从本书的电子资源获取),建立8086 CPU 仿真电路如图所示。
关于LED对应的端口地址本实验不做介绍,在后续章节中有详细计算的过程。
三、实验要求(1)按照步骤完成源代码的输入以及编译。
(2)使用Proteus仿真,观察实验现象。
四、实验步骤2)源程序的编译及Emu8086的基本应用。
源代码:code segmentassume cs:codestart:mov dx,00100100bmov al,01hout dx,almov cx,2000loop $mov al,00hout dx,almov cx,2000loop $jmp startcode endsend startA.新建工程:图1-2 新建工程图1-3 新建文件类型选择如上图所示选择new->empty workspace ->okB 编辑代码C 保存代码图1-5 代码保存如图1-5所示,点击“Save”按钮,在弹出的对话框中,输入源代码的文件名如“LED.asm”,并电机“SA VE”将保存源代码到电脑的磁盘中。
东南大学信息学院微机实验报告十
实验十一、实验目的1.了解Intel 8086CPU的中断处理功能以及IBM-PC的中断结构。
2.了解8259中断控制器的使用。
3.掌握键盘中断的编程,观察中断的执行情况。
二、实验任务要求每按下一个键就向CPU发出中断请求信号,该信号由8259的IRQ1引入,中断类型号为09,CPU响应中断后转入执行KEYINT中断服务程序,并且在CRT上显示某字或某个图形,按下10次后返回DOS。
三、源程序STACK SEGMENT STACKDW 200H DUP(?)STACK ENDSDATA SEGMENTKEY DB ?BUF DB "OK!"DATA ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATADELAY PROCPUSH CXPUSH DXMOV DX,0A64DHCON2: MOV CX,0FFFFHCON: DEC CXJNE CONDEC DXJNE CON2POP DXPOP CXRETDELAY ENDPDISP1 PROC FARPUSH AXPUSH BXPUSH CXPUSH DXMOV AH, 15 ;读当前显示状态INT 10HMOV AH, 0 ;设置显示方式INT 10HMOV CX, 1 ;要显示字符个数MOV DX, 0 ;行号为0,列号为0REPT: MOV AH, 2 ;设置光标位INT 10HMOV AL, 0FH ;读出太阳图形MOV AH, 10 ;写字符INT 10HCALL DELAYSUB AL, ALMOV AH, 10 ;清除原图形INT 10HINC DHADD DL, 2CMP KEY, 10JAE GO1CMP DH, 25JNE REPTGO1: POP DXPOP CXPOP BXPOP AXRETDISP1 ENDPDISP2 PROC FARPUSH CXPUSH BXPUSH AXMOV CX, 3NEXTC: LODSB ;AL<-[SI]MOV AH, 0EH ;写字符,并移动光标MOV BX, 01INT 10HCALL DELAYLOOP NEXTCCMP KEY, 10JAE GO2POP AXPOP BXPOP CXRETDISP2 ENDPKEYINT PROC FARPUSH AXPUSH SISTIIN AL, 60HIN AL, 61HOR AL, 80HOUT 61H, ALAND AL, 7FHOUT 61H,ALTEST AH, 80HJNE GOSTIINC KEYMOV SI, OFFSET BUFCALL DISP2GO: MOV AL, 20HOUT 20H, ALPOP SIPOP AXIRETKEYINT ENDP START: MOV AX, STACK MOV SS, AXMOV AX, DATAMOV DS, AXMOV ES, AXMOV AX, ES:[24H]PUSH AXMOV AX, ES:[26H]PUSH AXCLIMOV AX, OFFSET KEYINTMOV ES:[24H],AXMOV AX, SEG KEYINTMOV ES:[26H], AXSTIMOV KEY, 0AGAIN: CALL DISP1CMP KEY, 10JB AGAINCLIGO2: POP AXMOV ES:[26H],AXPOP AXMOV ES:[24H],AXSTIMOV AH, 4CHINT 21HCODE ENDSEND START四、实验中遇到的问题在实验编写过程中,遇到按住键,会一直显示OK,出现10次OK后也不会跳出程序。
东南大学虚拟仪器实验报告-(计算n!,计算器)
东南大学生物科学与医学工程学院虚拟仪器实验报告第二次实验实验名称:程序结构专业:生物医学工程姓名:学号:同组人员:学号:实验室: 综合楼716实验时间:10月14日评定成绩:审阅教师:一、计算n的阶乘 (3)1实验题目 (3)2实验目的 (3)3实验内容 (3)4设计方案选择、方案的优缺点。
(3)5软件设计: (3)6调试: (6)7测试结果和分析。
(6)8使用说明: (7)9结束语、总结、心得体会。
(7)二、实现加减乘除的计算器 (7)1实验题目 (7)2实验目的 (7)3实验内容 (7)4设计方案选择、方案的优缺点。
(7)5软件设计: (8)6调试: (9)7测试结果和分析 (10)8使用说明: (10)9结束语、总结、心得体会。
(10)一、计算n的阶乘1实验题目完成计算n的阶乘2实验目的①前面板数字控制器可随意输入n的值,并能显示结果(注:0!=1)。
②For循环中重复时间不少于100ms(即程序每100ms循环一次)。
3实验内容⑴学习while、For循环的使用方法。
⑵学习移位寄存器的概念,学习移位寄存器的使用。
⑶学习使用Case结构,学习添加和删除分支。
4设计方案选择、方案的优缺点。
计算n的阶乘的计算器方案选择:利用循环语句,进行数字n的阶乘运算,利用移位寄存器实现数据的传送完成数字连乘。
利用时间计时器的差值得出程序运行所用时间。
能够简洁明了的实现计算n的阶乘的功能,数据正确。
5软件设计:虚拟仪器设计步骤详细介绍。
(1)程序前面板设计:数值输入控件:名称:输入n 属性:双精度(DBL)用途:面向用户,手动输入n值数值显示控件:名称:n!的值属性:双精度(DBL)用途:显示n!运算结果名称:运行时间(ms)属性:双精度(DBL)用途:显示程序运行时间面板的布局:。
(2)框图程序设计:程序流程图:源程序:6调试:调试步骤:使用高亮执行该段程序,观察数据流的动向。
调试中问题:一开始使用整型,对于较小数值,结算结果正确,但对于较大的数值计算结果错误。
微型计算机原理范文
微型计算机原理范文一、硬件原理1.数据传输:微型计算机通过数据总线、地址总线和控制总线来实现数据的传输。
数据总线用于传输数据信息,地址总线用于传输存储器或外设的地址,控制总线用于传输控制信号。
2.运算:中央处理器是微型计算机的核心组件,主要负责数据的处理和运算。
它由算术逻辑单元(ALU)和控制单元组成。
ALU用于进行算术和逻辑运算,控制单元用于控制指令的执行顺序。
3.存储:主存储器用于存储数据和程序。
它的存取速度较快,但容量较小。
微型计算机还可以连接辅助存储器,如硬盘、光盘和闪存,用于存储大量的数据和程序。
4.控制:微型计算机通过控制单元来控制指令的执行。
控制单元根据指令寄存器中的指令来产生相应的控制信号,实现指令的取指、译码、执行和访存等过程。
5.外围设备:微型计算机可以连接各种外围设备,如显示器、打印机、键盘、鼠标、扫描仪等。
它们通过输入输出端口与计算机系统进行通信。
二、软件原理1.系统软件:系统软件包括操作系统和语言处理程序等。
操作系统是微型计算机的核心软件,负责管理计算机的硬件资源和提供给应用软件的环境。
语言处理程序用于将高级语言转换为计算机可以执行的机器语言。
2.应用软件:应用软件包括各种办公软件、设计软件、娱乐软件等。
它们是根据用户需求来开发的,用于解决特定的实际问题。
三、微型计算机的工作原理1.初始化:当微型计算机通电时,控制单元首先从BIOS(基本输入输出系统)中读取并执行一段特定的程序,进行系统的初始化。
2.取指:控制单元从主存储器中按照程序计数器指定的地址读取指令,存放在指令寄存器中。
3.译码:控制单元对指令进行译码,确定指令的执行类型和操作对象。
4.执行:根据指令的类型和操作对象,控制单元产生相应的控制信号,使算术逻辑单元和主存储器执行相应的操作。
5.存取数据:微型计算机通过数据总线和地址总线将数据和地址传输到相应的部件,实现对数据的存取。
6.结果输出:微型计算机将运算结果通过数据总线和输出接口传输到相应的外围设备,如显示器或打印机。
东南大学-微机原理-微机系统与接口-实验五-六-实验报告-自动化学院
东南大学《微机实验及课程设计》实验报告实验五8253 计数器/定时器实验六8255 并行输入输出姓名:学号:08011专业:自动化实验室:计算机硬件技术实验时间:2012年04月27日报告时间:2013年05月15日评定成绩:审阅教师:一. 实验目的实验五:1)掌握计数器/定时器8253 的基本工作原理和编程应用方法;2)了解掌握8253 的计数器/定时器典型应用方法实验六:1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8段数码管的动态刷新显示控制;3)分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 实验内容实验五:必做:5-1 将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。
(参考程序p63)5—2 将计数器0、1分别设置在方式3,计数初值设为1000,用逻辑笔观察OUT0电平的变化。
(参考程序p64)实验六:(1)8255方式 0:简单输入输出实验电路如图一,8255C口输入接逻辑电平开关K0~K7,编程A口输出接 LED 显示电路L0~L7;用指令从 C口输入数据,再从A口输出。
图一 8255简单输入输出(2)编程将A口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由K0键在线控制,随时可切换;流水间隔时间也可由K4~K7键编码控制,如 0000对应停止,0001对应 1秒,1111对应 15秒,大键盘输入 ESC键退出。
(3)8段数码管静态显示:按图二连接好电路,将 8255的 A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端 S1接+5V(选中),S0、dp接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
图二单管静态显示(4) 8段数码管动态显示:按图三连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C口的PC1、PC0。
微型计算机原理与应用实验
例如,设计一个256分支的段内程序转移程序。
设JUMP单元有一个数X,若X0,则转移到标号为P000的程序段;若X1,则转移到标号为P001的程序段,……;若X255,则转移到标号为P255的程序段。
DA TA SEGMENTJUMP DB ? ;某数XTAB DW P000;分支程序标号DW P001……DW P255DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEG:MOV AX,DATAMOV DS,AXMOV BL,JUMPMOV BH,0ADD BX,BX ;2×X→BX寄存器MOV SI,OFFSET TABJMP [BX+SI];DS:[BX+SI]→IP实现转移P000:... ...P001:... ...... ...... ...P255:... ...CODE ENDSEND BEG例4.2 字节型变量V AR1、V AR2和V AR3存放有3个无符号数,将其中的内容按从大到小重新排列。
解:经重新排列后,V AR1的值最大,V AR3的值最小。
由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。
编程思路:通过在三个数中找出最大值,将它与VAR1单元进行交换;然后对剩余的两个数进行比较,将较大值存放在V AR2中。
汇编语言程序如下:STACK SEGMENT STACK 'STACK'DW 100H DUP(?)TOP LABEL WORDSTACK ENDSDA TA SEGMENTV AR1 DB 46H ;先假设一组值,以便检验程序设计的正确性V AR2 DB 15HV AR3 DB 0A2HDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX, DA TAMOV DS, AXMOV ES, AXMOV AX, STACKMOV SS, AXLEA SP,TOPMOV AL,V AR1 ;用户编写的程序CMP AL,V AR2JAE NO_CHG1XCHG AL,V AR2NO_CHG1:CMP AL,V AR3JAE NO_CHG2XCHG AL,V AR3NO_CHG2:MOV VAR1,AL ;最大值保存到VAR1MOV AL,VAR2CMP AL,VAR3JAE NO_CHG3XCHG AL,V AR3MOV VAR2,AL ;次大值保存到VAR2NO_CHG3:MOV AH,4CH ;返回DOS操作系统INT 21HCODE ENDSEND START程序执行后,(V AR1)=0A2H,(V AR2)=46H,(V AR3)=15H,说明程序设计正确。
微型计算机原理及应用实验报告
机电工程学院
微型计算机原理及应用实验报告
实验一:数据查找实验
实验二:工业顺序控制模拟实验
实验三:交通灯控制模拟实验
实验四:模数转换实验
班级:
学号:
姓名:
撰写日期:
实验一数据查找实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和主程序
四、实验步骤
五、思考
欲统计片外RAM 8100H ~ 811FH中05H的数目,如何修改实验程序?
实验二工业顺序控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图
六、思考
欲使每道工序有多位输出,如何修改实验程序?
实验三交通灯控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验设备
三、实验内容
四、实验要求
1. 画出状态转换图
2. 画出实验接线图
3.
4. 设计延时方案
5. 设计中断服务子程序
6. 设计控制程序
写出每条基本指令的地址、目标代码和源程序代码
五、实验步骤
六、实验总结
实验四模数转换实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和程序
四、实验接线图
五、实验步骤与记录。
微型计算机原理实验(8-9学时)16
注:运行 ->进入调试状态(模拟调试)
四、实验报告要求
1. 写出程序清单并画出程序流程图。 2. 写出数据及调试结果。(观察地址指针、
计数器变化)
实验三:中断控制器8259实验
DSEG ENDS
本次实验程序调试成功,请每一位同学讲述正确 的结果是什么, DS:0000—DS:0005内存放的值 是多少?
五、实验报告要求
1. 总结使用软件调试程序的主要操作(结 合实验内容);
2. 思考:在实验中用全速运行(不设断点) 有何不同?会出现什么现象?
六、预习要求
5.调试 (1)运行 ->进入调试状态
(2)在调试过程中,可以根据需要,在主菜 单中“查看”打开:寄存器窗、存贮器窗1、2 、3、观察窗、变量窗、反汇编窗。
通过主菜单中辅助->设置->格式,设置每 一种窗口使用的字体、大小、颜色。
根据你的需要打开不同的窗口,把这些窗口放在前台,并调整至适当的大小。 调整后的调试界面:
6.运行、查看结果 可以使用以下命令调试您的程序,检查结果,判断
程序出错原因:
(1)
设置或清除断点(功能键为F2)
(2)
单步进入(功能键F7)
单步执行当前行或当前指令,可进入函数或子程序。
(3)
连续单步进入(功能键Ctrl + F7)
连续执行“单步进入”,用鼠标点击 或按任意键 后,停止运行。
(4)
微机原理及应用实验
江苏大学电气与信息工程学院
微机原理及应用实验计划
• 1.熟悉80x86实验系统与编程环境
微型计算机原理实验讲义
微机原理和应用实验讲义南京大学物理系二○○三年九月第一部分汇编语言和机内接口实验一用DEBUG验证指令实验二用DEBUG运行简单程序实验三字符显示实验四从键盘输入十六进制数并显示出二进制值实验五多位十进制数相加的编程实验六十进数乘法实验七排序实验实验八二—十进制数码转换实验九音响实验实验十时钟实验实验十一PC机打印接口实验实验十二串行通信实验实验十三A/D转换在电化学沉积研究中的应用附录一调试程序DUBUG主要命令提要附录二编辑工具EDIT使用简介附录三DOS中断向量和BIOS中断调用一览表实验一用DEBUG验证指令用动态调试DEBUG逐条验证下列指令的功能,每条指令执行前须在有关的寄存器或内存中设置好特定的数值内容,以便运行后能有效地反映出该指令的特点。
设置的方式可用传送指令,也可用DEBUG的R命令或E命令。
(附录一给出了DEBUG的各命令功能及标志寄存器(F)各标志位的符号表示。
)实验报告要求写出运行前后的设置情况和运行结果、以及对指令的理解。
(1)MOV AX,[SI]运行前,ax=? si=? [si]=? [si+1]=?运行后,ax=? [si]=? [si+1]=?(2)MOV AX,1234[DI]运行前,ax=? di=? [1234+di]=? [1234+di+1]=?运行后,ax=?(3)MOV [BX][SI],AX运行前,ax=? bx=? si=? [bx+si]=? [bx+s+1]=?运行后,ax=? [bx+si]=? [bx+si+1]=?(4)PUSH AX运行前,ax=?; sp=?运行后,ax=? sp=? 并指出ah和al的内容在堆栈中的存放地址。
(5)LEA DX,[1200]运行前,dx=? 运行后,dx=?(6)LES SI,[BX]运行前,es=? si=? bx=? [bx,bx+1,bx+2,bx+3]=?,?,?,?运行后,es=? si=?(7)NEG AX运行前设:ax=1234H;并用RF命令置所有标志为零。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AND AX, OAFCFH;AX=ABCDH
SHL AX, 1;AX=579AH
RCL AX,1;AX=AF35H
步骤
(1)进入 Turbo Debugger,在CPU窗口下输入程序段
2)将IP指针指向程序段开始处
(3)按下F7键(单步)运行程序。
(4)分析各条指令执行后的结果与各标志位在指令执行后对它的影响
2.将寄存器BⅨ作地址指针,自BX所指的内存单元(0010HD)开始连续存放着三个无符号数(10H、04H、30H),。试编写程序分别求它们的和与积,并将结果存放在这三个数之后的单元中。
求和程序段
MOV[0010],10H
MOV[0011],0AX, AX
MOV BX, 0010H
MUL BL
结果(AX)=0372H
4.写出完成下述功能的程序段
(1)从地址DS:0000H单元中,传送一个数据58H到AL寄存器。
(2)把AL寄存器的内容右移两位
(3)再把L寄存器的内容与字节单元DS:0001H中的数据12H相乘。
(4)将乘积存入字单元DS:0002H中
M0V[0000],58H
MOV SI, 2000H;SI=2000H
ADD AL, 30H;AX=1040H
ADD AX, SI;AX=3040H
MOV BX, 03FFH;BX=03FFH
ADD AX, BX;AX=343FH
MOV[0020],1000H;DS:[0020]=1000H
ADD 0020, AX;DS:[0020]=443FH
M0V[0010],CX;DS:[0010]=OFOFH
程序段3:
MOV BL, 25H;BX=0025H
MO[0010],04H;DS:[0010]=04H
MOV AL, [0010];AX=0004H
MUL BL;AX=0094H
程序段4:
MOV BL,04H;BX=0004H
MOV WORD PTR L0010], 0080H;DS:[0010]=0080H
实验二
学院:信息科学与工程学院姓名:周信元学号:04016523实验日期:2018.4.4
一、实验目的
1.熟悉算术和逻辑运算指令的功能。
2.进一步了解标志寄存器各标志位的意义和指令执行对它的影响。
二、实验任务
1.采用单步执行方式执行下列各程序段,检查各标志位的情况。
程序段1
MOV AX, 10101H;AX=1010H
MOV BL, [0012]
MUL BL
MOV [0013], AX
结果[DS:0013=0C00H
3.写出完成下述功能的程序段
(1)传送15H到AL寄存器。
(2)将L的内容乘以2
(3)传送15H到L寄存器
4)AL的内容乘以BL的内容。
最后结果(AX)=?
MOV AL, 15H
SHL AL, 1
MOV BL, 15H
MOV AX, [0010];AX=0080H
DIV BL;AX=0020H
程序段5:
MOV AX, 00;AX=0000H
DEC AX;AX=FFFFH
ADC AX, 3FFFH;AX=3FFEH
ADD AX, AX;AX=7FFCH
NOT AX;AX=8003H
SUB AX, 3;AX=8000H
1.见报告中加粗文字部分
2.普通加法指令ADD,指令格式:ADDReg/mem,Reg/mem/imm受影响标志位:AF/CF/OF/PF/SF/ZF
逻辑与操作指令AND,指令的格式: ANDReg/Mem, Reg/Mem/imm受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
MOV SI, 0010H
NEXT: MOV WORD PTR[SI]. 00
ADD SI,0022H
CMP SI,
INE NEXT
(2)假设要清除偏移地址从0020H到001字存储单元中的内容(即由高地址到
低地址清零),试编写程序段。
MOV SI, 0020H
NEXTMOV WORD PTR[S1], 00
MOV AL, BXI
ADD AL,[BX+1]
ADD Al, [BX+2]
MOV[BX+3], AL
结果[DS:0013]=44H
求积程序段
MOV[0010],10H
MOV[0011],04H
MOV[0012],30H
SUB AX, AX
MOVA1,[0010]
MOV BL, [0011
MUL BL
MOV[0001],12H
MOV AL, [0000]
SHR AL, 02
MOV BL, [0001]
MUL BL
MOV [0002], AX
结果[0002]=018CH
5.假设下面的程序段用来清除数据段中相应字存储单元的内容(即零送到这些存储
单元中去),其偏移地址从0010H到0020H
(1)将第4条比较指令语句填写完整(划线处)
程序段2:
MOV AX, OA0AOIH;AX=A0A0H
ADO AX, OFFFFH;AX=A09FH
MOV CX, OFFOOH;CX=FF00H
ADD AX, CX;AX=9F9FH
SUB AX, AX;AX=0000H
INC AX;AX=0001H
OR CX, OOFFH;CX=FFFFH
AND CX, OFOFH;CX=0F0FH
SUB SI, 2
CMP SI, 000EH
JNE NEXT
三,实验设备
IBM-TC/XT微机一台
四、实验预习要求
1.复习8086指令系统的算术和逻辑运算指令
2,按照题目要求在实验前编写好程序
五、实验报告要求
1.整理出运行正确的各题源程序段和结果,
2.,简要说明ADD指今和AND指令对标志位的影响。