西电微机原理实验报告

合集下载

计算机组成原理实验报告 西电版

计算机组成原理实验报告  西电版

计算机组成原理实验报告成评语:绩教师:年月日班级:学号:姓名:地点:时间:实验一存储器实验1、F PGA中LPM_ROM定制与读出实验实验课件参考:/CMPUT_EXPMT/E XPERIMENTS/E XPMT3/实验3-1.PPT 实验示例参考:/CMPUT_EXPMT/Experiments/Expmt3 / DEMO_3_1_rom一.实验目的1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法。

2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;3、在初始化存储器编辑窗口编辑mif文件配置ROM;4、验证FPGA中mega_lpm_ROM的功能。

二.实验原理ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。

CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。

lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。

由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。

图3-1-1中的lpm_ROM 有3组信号:inclk——输入时钟脉冲;q[23..0]——lpm_ROM的24位数据输出端;a[5..0]——lpm_ROM的6位读出地址。

实验中主要应掌握以下三方面的内容:(1)lpm_ROM的参数设置;(2)lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写;(3)lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。

西电 机电微机原理实验报告

西电 机电微机原理实验报告

微机原理实验报告姓名:学号:实验一8259中断实验一、实验目的1.掌握PC机中断处理系统的基本原理。

2.掌握外部扩展中断源的设计方法。

3.学会编写中断服务程序。

二、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

三、实验内容实验要求实现8259控制器的IR1、IR3两路中断都可以通过IRQ向PC机发起中断请求,用SP1、SP2单次脉冲模拟两个中断源。

IR1中断时,在它的中断服务程序中编程显示“IR1 OK AND EXIT!”;IR3中断时,在它的中断服务程序中编程显示“IR3 OK AND EXIT!”。

采用查询方式完成。

图1-1 扩展中断电路四、实验步骤1、连接线路SP1和SP2分别接到IR1和IR3,IR1和IR3与L0和L1指示灯相连,8259CS 接到Y0上,最后将/RD、/WR、INT分别与IOR、IOW、IRQ相连接,连接好后打开电源。

2、编写程序3、汇编、编译、连接及运行五、实验程序DATA SEGMENTIOPORT EQU 0FF00H-0280HMY8259_ICW1 EQU IOPORT +280H ;实验系统中8259的ICW1端口地址MY8259_ICW2 EQU IOPORT +281H ;实验系统中8259的ICW2端口地址MY8259_ICW3 EQU IOPORT +281H ;实验系统中8259的ICW3端口地址MY8259_ICW4 EQU IOPORT +281H ;实验系统中8259的ICW4端口地址MY8259_OCW1 EQU IOPORT +281H ;实验系统中8259的OCW1端口地址MY8259_OCW2 EQU IOPORT +280H ;实验系统中8259的OCW2端口地址MY8259_OCW3 EQU IOPORT +280H ;实验系统中8259的OCW3端口地址MSG1 DB 0DH,0AH,'DVCC PCI CARD INTERRUPT',0DH,0AH,'$'MSG2 DB 0DH,0AH,'PRESS ANY KEY TO EXIT!',0DH,0AH,'$'MSG3 DB 0DH,0AH,'IR1 OK AND EXIT!',0DH,0AH,'$'MSG4 DB 0DH,0AH,'IR3 OK AND EXIT!',0DH,0AH,'$'DATA ENDSSTACKS SEGMENTDB 100 DUP (?)STACKS ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKS,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKSMOV SS,AXMOV AX,DATAMOV DS,AXMOV DX,OFFSET MSG1MOV AH,09HINT 21HMOV DX,OFFSET MSG2MOV AH,09HINT 21HSTART1: MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1 MOV AL,13H ;边沿触发、单片8259、需要ICW4OUT DX,ALMOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2MOV AL,08HOUT DX,ALMOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4MOV AL,01H ;非自动结束EOIOUT DX,ALMOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1MOV AL,0F5H ;打开IR1和IR3的屏蔽位OUT DX,ALQUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令MOV AL,0CHOUT DX,ALNOPNOPNOPMOV DX,MY8259_OCW3IN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应JZ QUERY ;没有响应则继续查询AND AL,07HCMP AL,01HJE IR1ISR ;若为IR1请求,跳到IR1处理程序CMP AL,03HJE IR3ISR ;若为IR1请求,跳到IR1处理程序JMP EOIQUERY1: MOV DL,0FFHMOV AH,06HINT 21HJZ START1MOV AH,4CHINT 21HIR1ISR: MOV DX,OFFSET MSG3 ;IR1处理,显示字符串'IR1 OK AND EXIT'MOV AH,09HINT 21HJMP EOIIR3ISR: MOV DX,OFFSET MSG4 ;IR1处理,显示字符串'IR3 OK AND EXIT'MOV AH,09HINT 21HEOI: MOV DX,MY8259_OCW2 ;向实验系统中8259发送中断结束命令MOV AL,20HOUT DXMOV AL,20H ;SEND EOIOUT 0A0H,ALOUT 20H,ALPOP DSPOP DXPOP AXJMP START1CODE ENDSEND START六、实验结果接好电路,编好程序,打开电源后,两个LED指示L0和L1灯都熄灭;编译、链接、运行程序,8259控制器的IR1、IR3两路中断可通过IRQ向PC机发起中断请求,按下SP1,IR1中断,指示灯L0亮,电脑屏幕上显示“IR1 OK AND EXIT!”;按下SP2, IR3中断,指示灯L1亮,电脑屏幕上显示“IR3 OK AND EXIT!”七、实验中遇到的问题及解决方法最初认为要按照原理图把所有线都接上,后来知道了直接用排线连接就好,同时还能降低短路的可能性。

西电微机原理实验报告

西电微机原理实验报告

微机系统实验报告班级: 031214 学号: 03121370 姓名:孔玲玲地点: E-II-312 时间:第二批实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握DOS功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC机一台。

三、实验内容(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

(2) 在屏幕上显示自己的学号姓名信息。

(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入“Q”或“q”时结束。

(4)自主设计输入显示信息,完成编程与调试,演示实验结果。

考核方式:完成实验内容(1)(2)(3)通过,完成实验内容(4)优秀。

实验中使用的DOS功能调用: INT 21H表3-1-1 显示实验中可使用DOS功能调用AH 值功能调用参数结果1 键盘输入并回显AL=输出字符2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面8 从键盘上读一个字符AL=字符的ASCII码9 显示字符串DS:DX=串地址,‘$’为结束字符光标跟在串后面4CH 返回DOS系统AL=返回码四、实验步骤(1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。

(2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。

(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。

按F9连续运行。

(4)更改数据区的数据,考察程序的正确性。

五、实验程序DATA SEGMENTBUFFER DB '03121370konglingling:',0AH,0DH,'$'BUFFER2 DB 'aAbBcC','$'BUFFER3 DB 0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXmov ah,09hmov DX,OFFSET BUFFERint 21hMOV SI,OFFSET BUFFER2lab1:cmp BYTE PTR [SI],'$'je lab2MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hadd SI,1jmp lab1lab2:mov ah,09hmov DX,OFFSET BUFFER3int 21hmov ah,01hint 21hcmp al,'q'je lab3mov BL,ALAND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C4ADD AL,07HC4: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;取低4位CMP AL,0AHJB C5ADD AL,07HC5: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hjmp lab2lab3:mov ah,4chint 21hCODE ENDSend START六、实验结果实验二数码转换实验一、实验目的(1)掌握不同进制数及编码相互转换的程序设计方法。

微机原理实验三实验报告

微机原理实验三实验报告

实验3. 循环程序设计一、实验目的⒈掌握移位指令的使用方法。

⒉学会循环结构程序的编程方法。

⒊利用DEBUG调试程序查看循环程序循环过程中CS和IP的变化情况。

二、实验要求⒈编写程序并上机调试,记录运行结果。

⒉用DEBUG调试程序调试所编程序,查看并记录每条指令内存单元地址及执行结果(包括F标志寄存各位值。

)⒊注意观察并记录每条指令执行后CS和IP寄存器值变化情况,以加深对循环程序的概念的理解。

三、实验内容⒉编写统计15个学生数学学习成绩程序。

要求:分别统计出低于60分,60-69分,70-79分,80-89分,90-100分的人数,并存放到S5,S6,S7,S8,S9,S10对应内存单元中。

源程序代码;DATA SEGMENTDATA1 DB 55,60,65,88,67,70,75,80,77,85,90,66,95,53,100DATA2 DB 5 DUP(?)DATA ENDS;CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,15LEA SI,DATA1LEA DI,DATA2AGAIN:MOV AL,[SI]CMP AL,90JB NEXT1INC BYTE PTR[DI]JMP NEXT0NEXT1:CMP AL,80JB NEXT2INC BYTE PTR[DI+1]JMP NEXT0NEXT2:CMP AL,70JB NEXT3INC BYTE PTR[DI+2]JMP NEXT0NEXT3:CMP AL,60JB NEXT4INC BYTE PTR[DI+3]JMP NEXT0NEXT4:INC BYTE PTR[DI+4]NEXT0:INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START程序运行结果截图:四、实验总结本次实验掌握移位指令的使用方法。

新版西电微机原理第二次上机实验报告-新版-精选.pdf

新版西电微机原理第二次上机实验报告-新版-精选.pdf

西电微机原理第二次上机实验报告学号:姓名:一、实验目的1.熟练掌握汇编语言程序设计的方法及上机步骤。

2.掌握算术运算中,十进制数调整指令的应用。

3.掌握子程序的设计方法。

4.掌握DOS功能的调用方法。

二、实验仪器586微机 1台三、实验内容编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。

编程要求与提示:[1] 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。

[2] 和以压缩十进制数的形式存入SUM以下单元。

[3] 将和送到屏幕显示部分功能的实现采用子程序的形式。

[4] 实验步骤如下:a. 用全屏幕编辑软件建立源程序。

b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。

c. 用link.exe连接程序对目标程序进行连接形成可执行文件。

d. 用DEBUG对连接通过的可执行程序进行调试。

四、实验内容对应的源程序及流程源程序如下:STACK SEGMENT STACKDB 10H DUP(00)STACK ENDSDATA SEGMENTADD1 DB 12H,67H,85H,32HADD2 DB 21H,73H,65H,43HSUM DB 4H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, DATAMOV ES, AXMOV AX,STACKMOV SS,AXLEA SI, ADD1[3]LEA BX, ADD2[3]LEA DI,SUM[3]MOV CX,4CLCL1:MOV AL,[SI]ADC AL,[BX]DAAMOV [DI],ALDEC SIDEC BXDEC DILOOP L1CALL DISPAL; ------------EXITPROC:MOV AH,4CH ;结束程序MOV AH,1INT 21H; ------------DISPAL PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DILEA DI,SUMMOV CX,4DISPAL2:MOV AL,[DI]SHR AL,1SHR AL,1SHR AL,1SHR AL,1MOV AH,2MOV DL,ALADD DL,30HINT 21HMOV AL,[DI]AND AL,0FHMOV AH,2MOV DL,ALADD DL,30HINT 21HINC DILOOP DISPAL2POP DIPOP DXPOP CXPOP BXPOP AXRETDISPAL ENDPCODE ENDSEND START运行结果如下:五、问题讨论1.在以十进制数形式参加运算的程序设计中,应注意那些问题。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

西电微机原理与系统设计上机报告

西电微机原理与系统设计上机报告

微机原理与系统设计上机报告学号:*******姓名:**指导老师:**时间:2016年11月西安电子科技大学内容一 Debug程序的使用一、实验目的1. 学习使用DEBUG调试命令。

2. 学习用DEBUG调试简单程序。

3. 通过程序验证码制及其对标志位的影响。

4. 通过调试熟悉和掌握各寄存器的作用与特点。

二、实验内容用DEBUG调试简单程序。

三、实验仪器微机一台四、实验步骤1.由DOS进入DEBUG调试环境。

(1)DEBUG将调试程序装入内存注意:当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG的状态提示符,表示可以接受调试子命令了。

(2)-R 显示CPU中各寄存器当前初始内容,请记录下列各项:AX=0000 BX=0000 CX=0000 DX=0000 BP=0000 SI=0000 DI=0000 DS=13E0 ES=13E0 SS=13E0 SP=FFEE CS=13E0 IP=0100 FLAG寄存器中的8个标志位状态值是:OF DF IF SF ZF AF PF CFNV UP EI PL NZ NA PO NC DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。

标志位含义‘1’的对应符号‘0’的对应符号OF溢出OV有NV无DF方向DN递减UP递增IF中断EI允许DI禁止SF符号NG负PL正ZF全零ZR零NZ非零AF辅助进位AC有NA无PF奇偶性PE偶PO奇CF进位CY有NC无2.用DEBUG调试简单程序例1 -A CS:0106MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运行程序(注:执行程序时IP应指向要执行的指令,需要修改该寄存器-RIP当前值输入需要值该处为0106,当然也可以在T或G命令中指出程序起始地址)-R 显示各寄存器当前内容及首条指令-T 3 跟踪执行三条赋值传送指令,观察寄存器及标志位-T 2跟踪执行相加及送和数指令,观察寄存器及标志位-G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作实验现象记录:观察与记录按照上述要求命令执行后,哪些寄存器和标志位发生了变化。

微机原理与接口技术实验报告 西安邮电

微机原理与接口技术实验报告 西安邮电

西安邮电大学(计算机学院)微机原理与接口技术实验报告实验名称:寻址方式与基本指令实验专业名称:班级:学生姓名:学号:指导教师:实验日期:2017年10月31日寻址方式与基本指令实验1、实验目的1.1、熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。

1.2、掌握汇编语言程序设计上机过程, 掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。

1.3、熟悉Microsoft的DEBUG或Borland的Turbo DEBUG调试工具的使用方法2 、实验预习要求2.1、认真阅读本书第一部分第1章,熟悉汇编语言程序设计上机步骤。

2.2、认真阅读本书第三部分,熟悉DEBUG调试工具的使用方法。

2.3、复习80x86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。

2.4、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题除外),以便在实验时进行验证。

3、实验内容3.1、读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST 文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。

(1)程序装入后,代码段寄存器CS的内容为____0913__H,代码段第一条可执行指令MOV AX, DATA对应的机器代码为__B81209__H,它是一个__3__字节指令,注意观察执行该指令时IP值的变化情况,该指令源操作数DATA的寻址方式是__立即数寻址__,其值为__0912H__。

(2)执行完MOV DS, DATA指令后,数据段寄存器DS的内容为_0912__H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为_09120_H、_09121__H和__09122__H。

微机原理的实验报告

微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。

二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。

2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。

3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。

4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。

三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。

(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。

观察实验现象并记录。

(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。

观察程序的执行结果,并记录相关数据。

(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。

观察实验现象并记录相关数据。

2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。

(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。

(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。

四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。

2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。

但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。

五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。

微机原理(单片机汇编)实验报告

微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。

二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。

三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开CPU窗口,观察CPU窗口各寄存器的变化。

打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。

在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。

2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。

3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。

4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。

5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。

四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。

微机原理与系统设计实验四

微机原理与系统设计实验四

实验1 继电器控制实验一、实验目的1、了解微机控制直流继电器的一般方法。

2、进一步熟悉使用8255、8253。

二、实验所用仪器(或实验环境)计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等三、实验原理将8253 计数器0 设置为方式3、计数器1 设置为方式0 并联使用,CLK0 接1MHZ 时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1 输出高电平。

通过8255 的PA0口查询OUT1的输出电平,用C 口PC0输出开关量控制继电器动作。

继电器开关量输入端输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。

四、实验内容1、使用8254定时,让继电器周而复始的闭合5 秒钟(指示灯灯亮),断开5 秒钟(指示灯灯)。

2、改变指示灯亮灭的周期为2s,改用PC7口控制继电器。

五、方案设计1、实验接线及分析接线:8255/CS 接I/O 地址译码/Y1(288H---28FH)8255/PC0 接继电器8255/PA0 接8254/OUT18254/CS 接I/O 地址译码/Y0(280H---287H)8254/CLK0 接时钟/1MHz8254/OUT0 接8254/CLK18254/GATE0,1 接+5V硬件电路分析:(包括端口地址分析)2、实现该内容的方案(或原理)3、画出流程图六、实验程序设计;***************************;;* 继电器控制 *;;***************************;io8253a equ 280hio8253b equ 281hio8253c equ 283hio8255a equ 288hio8255c equ 28ahio8255ctl equ 28bhcode segmentassume cs:codestart: mov dx,io8255ctlmov al,90hlll: out dx,almov dx,io8255cmov al,01 ;将PC0置位out dx,alcall delay ;延时5smov al,0 ;将PC0复位out dx,alcall delay ;延时5sjmp lll ;转llldelay proc near ;延时子程序push dxmov dx,io8253c ;设8254计数器为方式3 mov al,36hout dx,almov dx,io8253amov ax,10000 ;写入计数器初值10000 out dx,almov al,ahout dx,almov dx,io8253cmov al,70h ;设计数器1为工作方式0out dx,almov dx,io8253bmov ax,500 ;写入计数器初值500out dx,almov al,ahout dx,alll2: mov ah,06 ;是否有键按下mov dl,0ffhint 21hjne exit ;若有则转exitmov dx,io8255ain al,dx ;查询8255的Pa0是否为高电平 and al,01hjz ll2 ;若不是则继续pop dxret ;定时时间到,子程序返回exit: mov ah,4chint 21hdelay endpcode endsend start七、实验结果分析及回答问题八、实验总结与心得体会实验2 电子琴实验一、实验目的1、通过8253 产生不同的频率信号,使PC 机成为简易电子琴。

西电微机实验报告

西电微机实验报告

西电微机实验报告引言本实验通过学习微机原理和使用相应软件工具,掌握西电微机的基本配置和操作。

本实验主要包括硬件部分和软件部分。

硬件部分主要涉及微机组成和接线;软件部分则包括微机启动和应用软件的使用。

通过本实验,可以加深对微机原理的理解和掌握西电微机的使用。

实验内容硬件部分1. 搭建微机系统主机和外设的连接。

按照提供的连接图和说明,连接主机和显示器、键盘、鼠标、扬声器等外设,并确认连接无误。

2. 检查硬件接线。

确认各个连接口的接触良好,避免松动或脱落导致电流不稳定或数据传输错误。

软件部分1. 启动微机系统。

按照提供的启动指南,打开电源,并检查显示器是否正常显示主机开机画面。

2. 学习操作系统的基本使用。

熟悉微机系统的操作界面、文件管理、软件运行等基本操作,并能够通过鼠标和键盘完成相应操作。

3. 运行应用软件。

通过应用软件,如文档编辑、图片处理、音频播放等,来实践操作系统的使用。

实验结果在硬件部分,我根据提供的连接图和说明,顺利地连接了主机和外设。

在检查硬件接线时,我认真检查了每个连接口,确保其接触良好。

在软件部分,启动微机系统时,显示器正常显示主机开机画面。

通过学习操作系统的基本使用,我掌握了微机系统的操作界面,并能够通过鼠标和键盘完成相应操作。

在运行应用软件时,我成功地进行了文档编辑、图片处理和音频播放等操作。

总体来说,硬件和软件部分的实验都在我的预期范围内顺利进行,并且能够熟练地使用微机系统进行各种操作。

实验总结通过本次实验,我对微机原理有了更深入的了解,掌握了西电微机的基本配置和操作。

通过实际操作,我对微机系统的组成和连接方式有了更直观的认识,并能够独立完成硬件的搭建和连接。

在软件部分,通过学习操作系统的基本使用和运行应用软件,我对微机系统的操作界面和功能有了更深入的理解。

我能够通过鼠标和键盘完成各种操作,并熟练地运行应用软件。

通过本次实验,我不仅加深了对微机原理的理解,同时也提高了自己的动手能力和问题解决能力。

微机原理实验报告

微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。

二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。

2.掌握微机系统的基本操作:开机、关机、复位、重启等。

3.了解微机系统的工作原理:运行机制、输入输出等。

4.实践运用微机系统进行一些简单的应用操作。

三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。

2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。

如果发现问题,主机会发出蜂鸣声。

3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。

4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。

5.系统操作:根据实验要求,进行相应的系统操作。

6.关机操作:在操作完成后,选择关机选项进行关机。

四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。

通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。

同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。

五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。

这对我后续学习计算机原理和操作系统提供了基础。

在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。

这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。

总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。

通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。

在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。

西电微机原理课程设计报告(11级)

西电微机原理课程设计报告(11级)

基于8088的微机最小系统设计与应用一、引言—微机发展概述1.微型计算机的发展历史第一台微型计算机—— 1974年,罗伯茨用8080微处理器装配了一种专供业余爱好者试验用的计算机“牛郎星”(Altair)。

第一台真正的微型计算机——1976年,乔布斯和沃兹尼克设计成功了他们的第一台微型计算机,装在一个木盒子里,它有一块较大的电路板,8KB的存储器,能发声,且可以显示高分辨率图形;1977年,沃兹尼克设计了世界上第一台真正的个人计算机——AppleⅡ,并“追认”他们在“家酿计算机俱乐部”展示的那台机器为AppleⅠ。

1978年初,他们又为AppleⅡ增加了磁盘驱动器;从微型计算机的档次来划分,它的发展阶段又可以分为以下几个阶段:第一代微机——第一代PC机以IBM公司的IBM PC/XT机为代表,CPU是8088,诞生于1981年。

后来出现了许多兼容机;第二代微机——IBM公司于1985年推出的IBM PC/AT标志着第二代PC机的诞生。

它采用80286为CPU,其数据处理和存储管理能力都大大提高;第三代微机——1987年,Intel公司推出了80386微处理器。

386又进一机器,称为该档次的微机,如386DX;第四代微机——1989年,Intel公司推出了80486微处理器。

486也分为SX和DX两档,即486SX、486DX。

486档次的微机也已很少使用。

第五代微机——1993年Intel公司推出了第五代微处理器Pentium(中文名“奔腾”)。

Pentium实际上应该称为80586,但Intel公司出于宣传竞争方面的考虑,改变了“x86”传统的命名方法。

第六代微机——1998年Intel公司推出了Pentium Ⅱ、Celeron,后来推出了Pentium Ⅲ、Pentium 4,主要用于高档微机;第七代微机——2003年9月,AMD公司发布了面向台式机的64位处理器:Athlon 64和Athlon 64 FX,标志着64位微机的到来。

(完整word版)微机原理完整实验报告+程序

(完整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 。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。

实验一,微机系统组成及工作原理。

1.1 微机系统的组成。

微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。

其中,CPU是微机系统的核心部件,负责控制整个系统的运行。

1.2 微机系统的工作原理。

微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。

CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。

实验二,微机系统的组装和调试。

2.1 微机系统的组装。

在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。

组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。

2.2 微机系统的调试。

组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。

通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。

实验三,微机系统的应用。

3.1 微机系统的应用领域。

微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。

在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。

3.2 微机系统的发展趋势。

随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。

未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。

结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。

这对我今后的学习和工作将有很大的帮助。

西电微机原理上机报告上机报告

西电微机原理上机报告上机报告

2、利用移位、传送和相加指令实现AX的内容扩大10倍。

(1)流程图如下,是简单的顺序结构。

(2)设最初AX=0001H,则理论最终结果应为AX=000AH。

结果截图如下:由图可见,AX=000AH,结果正确。

(3)调试过程的全部单步操作如下:(4)程序代码:DATAS SEGMENT DATAS ENDSSTACKS SEGMENT DW100H DUP(?)TOP LABEL WORD STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,0003HMOV BX,AXSHL AX,1SHL BX,1SHL BX,1SHL BX,1ADD AX,BXMOV AH,4CHINT21HCODES ENDSEND START3、在缓冲区VAR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果VAR中保存的为有符号数,再编写程序实现将其按递减关系排列。

(1)流程图如下。

第一个为无符号数的递增排列;第二个为有符号数的递减排列。

三个数字进行递增或者递减排列,最终结果仅有6种情况。

因此采用多重分支结构,对三个数字进行排列。

(2)将三个无符号数:2500、1000、4500进行递增排列,结果输出为:最终输出AX=03E8H=1000;BX=09C4H=2500;CX=1194H=4500。

结果正确。

将三个有符号数:-2500、-1000、-4500进行递减排列,结果输出为:最终输出AX=03E8H= -1000;BX=09C4H= -2500;CX=1194H= -4500。

结果正确。

(3)调试过程中的全部单步操作如下:(4)程序代码:<1>三个无符号数的递增排列:STACK SEGMENT STACKSTACK ENDSDATA SEGMENTVAR DW2500,1000,4500DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATAMOV DS,AXMOV AX,VARCMP AX,VAR+2JBE S1JMP T1S1:CMP AX,VAR+4JAE S2MOV BX,VAR+2CMP BX,VAR+4JAE S3JMP S4T1:MOV AX,VAR+2CMP AX,VAR+4JAE T2MOV BX,VARJAE T3 JMP T4S2:MOV AX,VAR+4 MOV BX,VAR MOV CX,VAR+2 JMP FINS3:MOV AX,VAR MOV BX,VAR+4 MOV CX,VAR+2 JMP FINS4:MOV AX,VAR MOV BX,VAR+2 MOV CX,VAR+4 JMP FINT2:MOV AX,VAR+4 MOV BX,VAR+2 MOV CX,VAR JMP FINT3:MOV AX,VAR+2 MOV BX,VAR+4 MOV CX,VAR JMP FINT4:MOV AX,VAR+2MOV CX,VAR+4JMP FINFIN:MOV AH,4CHINT21HCODE ENDSEND START<2>三个有符号数的递减排序:STACK SEGMENT STACKSTACK ENDSDATA SEGMENTVAR DW-2500,-1000,-4500DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATAMOV DS,AXMOV AX,VARCMP AX,VAR+2JGE S1JMP T1S1:CMP AX,VAR+4JLE S2MOV BX,VAR+2CMP BX,VAR+4JLE S3 JMP S4T1:MOV AX,VAR+2 CMP AX,VAR+4 JLE T2 MOV BX,VAR CMP BX,VAR+4 JLE T3 JMP T4S2:MOV AX,VAR+4 MOV BX,VAR MOV CX,VAR+2 JMP FINS3:MOV AX,VAR MOV BX,VAR+4 MOV CX,VAR+2 JMP FINS4:MOV AX,VAR MOV BX,VAR+2 MOV CX,VAR+4 JMP FINT2:MOV AX,VAR+4 MOV BX,VAR+2 MOV CX,VAR JMP FINT3:MOV AX,VAR+2MOV BX,VAR+4MOV CX,VARJMP FINT4:MOV AX,VAR+2MOV BX,VARMOV CX,VAR+4JMP FINFIN:MOV AH,4CHINT21HCODE ENDSEND START5、在变量VAR1和VAR2中分别保存有两个字节型的正整数,编写完整的汇编语言程序实现:(1)当两数中有一个奇数时,将奇数存入VAR1,偶数存入VAR2;(2)当两数均为奇数时,两个变量的内容不变;(3)当两数均为偶数时,两数缩小一半后存入原处。

微机原理实验报告

微机原理实验报告

微机原理实验报告
一、实验目的
本次实验的主要目的是了解微机原理、学习微机的基础知识、技能和操作方法,还有熟悉微机实验室的使用方法。

二、实验过程
在实验室中,我们首先进行了掌握微处理器的基本指令集和编程技巧的实验。

通过对微处理器的学习,我们了解到了微处理器的组成结构和工作原理,同时也了解了微处理器的基础指令集,包括数据的传送、算术、逻辑、分支、循环指令等等。

接着我们进行了CPU总线实验。

通过对CPU总线的学习,我们了解了CPU读写内部和外部存储器的方法和原理。

同时,我们学习了编写程序来控制CPU读写存储器等。

最后,我们进行了8255并行接口控制实验。

通过学习并实践8255并行接口控制实验,我们了解了接口及其编程。

三、实验结果
在实验中,我们成功地掌握了微处理器的基本指令集和编程技巧,了解了微处理器的组成结构和工作原理,同时掌握了CPU总
线实验和8255并行接口控制实验。

在实验中不仅增长了专业知识,而且也培养了我们的实验能力,并进一步增强了我们的实践能力。

四、实验心得
通过这次实验,我们意识到,要想成为一名优秀的计算机专业
人才,必须首先打牢微机原理的基础,通过大量的实践和实验,
来应用理论知识,深入了解计算机底层的数据处理方式以及处理
器和存储器的工作原理。

只有这样才能够在日后工作中运用自如,并且在以后的学习和研究中更具备竞争力。

在以后的学习中,我将持续学习和实践,不断探索和发现,提
升自身的能力,为未来的发展做好充分的准备。

《微机原理实验报告》word版

《微机原理实验报告》word版

班级自动化学号姓名实验一系统认识实验一实验目的掌握教学系统的基本操作二实验设备PC机一台masm软件三实验内容及步骤(1)输入程序并检查无误,经汇编连接后装入系统(2)输入E3500后回车,在3500-3510单元中分别送入00~09十个数据(3)按“T“键运行以上程序直至程序运行完(4)输入D3600后回车,查看3600单元后面的数据四程序及其显示的结果(1)程序(2)显示的结果实验三运算类编程实验一实验目的(1)掌握使用运算类指令编程及调试方法(2)掌握运算类指令对各状态标志位的影响及其测试方法二实验设备PC一台masm软件三实验内容及步骤(1)二进制双精度加法运算(2)输入程序并检查无误,经汇编连接后装入系统(3)用U0000:2000查看MOV AX,DA TA的语句,即得到数据段段位置CS:1412用E命令E1412:0000回车,给XL,YL,YH赋值存入二进制数A0,65,15,00和9E,B7,21,00(4)用G=0000:2000,运行以上程序(5)输入D1412:0008,检验显示的结果是否为:3E,1D,17,00四实验程序五程序显示的结果实验四分支程序设计实验一实验目的:(1)掌握分支程序的结构(2)掌握分支程序的设计,调试方法二实验设备:PC机一台masm软件三实验内容设计一数据块间的搬移程序。

设计思想:程序要求把内存中一数据区传送到另一存储区。

源数据块和目的数据块在存储中可能有三种情况,对于两个分离的情况,数据的传送从数据块的首位置开始,或者从数据块的末位置开始。

但对于有部分重叠的情况,则要加以分析,否则重叠部分会因搬移而遭到破坏,可以得到以下结论:(1)当源数据块首址大于目的块首址时,从数据块首址开始传送数据。

(2)当源数据块首址小于目的块首址时,从数据块末址开始传送数据。

四实验步骤(1)按实验流程图设计编写实验程序(2)输入程序并检查无误后,经汇编,连接后装入系统(3)用E命令在以SI为起址的单元中填入十六个数(4)用G=0000:2000运行实验程序(5)用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同五实验程序及结果显示(1)实验程序(1)实验结果显示实验五循环程序设计一实验目的(1)加深对循环结构的理解(2)掌握循环结构程序设计的方法(3)熟练掌握调试循环程序的方法二实验设备:PC机一台masm软件三实验内容求数据区内负数的个数:设数据区的第一单元存放区内单元数据的个数,从第二单元开始开始存放数据,在区内最后一个单元存放结果。

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

微机系统实验报告班级:031214学号:*********名:***地点:E-II-312时间:第二批实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握DOS功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC机一台。

三、实验内容(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

(2) 在屏幕上显示自己的学号姓名信息。

(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入“Q”或“q”时结束。

(4)自主设计输入显示信息,完成编程与调试,演示实验结果。

考核方式:完成实验内容(1)(2)(3)通过,完成实验内容(4)优秀。

实验中使用的DOS功能调用:INT 21H表3-1-1 显示实验中可使用DOS功能调用四、实验步骤(1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。

(2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。

(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。

按F9连续运行。

(4)更改数据区的数据,考察程序的正确性。

五、实验程序DATA SEGMENTBUFFER DB '03121370konglingling:',0AH,0DH,'$'BUFFER2 DB 'aAbBcC','$'BUFFER3 DB 0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DA TAMOV DS,AXmov ah,09hmov DX,OFFSET BUFFERint 21hMOV SI,OFFSET BUFFER2lab1:cmp BYTE PTR [SI],'$'je lab2MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hadd SI,1jmp lab1lab2:mov ah,09hmov DX,OFFSET BUFFER3int 21hmov ah,01hint 21hcmp al,'q'je lab3mov B L,ALAND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C4ADD AL,07HC4: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;取低4位CMP AL,0AHJB C5ADD AL,07HC5: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hjmp lab2lab3:mov ah,4chint 21hCODE ENDSend START六、实验结果实验二数码转换实验一、实验目的(1)掌握不同进制数及编码相互转换的程序设计方法。

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

(3)掌握循环程序的设计方法。

二、实验设备PC机一台。

三、实验内容及说明(1)重复从键盘输入不超过5位的十进制数,按回车键结束输入;(2)将该十进制数转换成二进制数;结果以2进制数的形式显示在屏幕上;(3)如果输入非数字字符,则报告出错信息,重新输入;(4)直到输入“Q”或‘q’时程序运行结束。

(5)键盘输入一字符串,以空格结束,统计其中数字字符的个数,并在屏幕显示。

考核方式:完成实验内容(1)(2)(3)(4)通过,完成实验内容(5)优秀。

转换过程参考流程如图3-2-2所示。

十进制数可以表示为:D n*10n+D n-1*10n-1+…+D0*100=∑ D i*10i其中D i代表十进制数1、2、3、…、9、0。

上式可以转换为:∑ D i*10i=(((D n*10+D n-1)*10+ D n-2)*10+…+ D1)*10+ D0由上式可归纳出十进制数转换为二进制数的方法:从二进制数的最高位D n开始做乘10加次位的操作。

依此类推,则可求出二进制数结果。

表3-3-1 数码转换对应关系四、实验程序; PAGE 60,132;本实验将输入的ASCII码转换为二进制,要求输入位数小于5DATA SEGMENTMES DB 0AH,0DH,'The Ascii code of Decimal code are: $'MSG1 DB 0AH,0DH,0AH,0DH,0AH,0DH,'Please Input(Exit:q/Q):$' MSG2 DB 0AH,0DH,'Input: $'MSG3 DB 0AH,0DH,'Input Error, Please input again!',0AH,0DH,'$';BIN DB 2 DUP(0)BUF DB 30H,30H,30H,31H,35HDB 10H DUP(0)N DW 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV DI,OFFSET BUFCLCMOV DX,OFFSET MSG1MOV AH,09H ;显示字符串INT 21HMOV DX,OFFSET MSG2MOV AH,09HINT 21HA1: MOV AH,01H ;接收键盘输入INT 21HCMP AL,'Q'JZ EXITCMP AL,'q'JZ EXITCMP AL,39HJA ERRORINC NSTOSB ;将输入数据存放在BUF缓冲区中CMP AL,13JNE A1MOV CX,NDEC CXMOV BX,000AHMOV SI,OFFSET BUFMOV AH,0MOV DX,0LODSBCMP CX,1JE A3SUB AL,30H ;将BUF中数据转换为二——十进制数DEC CXA2: IMUL BXMOV DX,AXLODSBMOV AH,0A3: SUB AL,30HADD AX,DXLOOP A2MOV [SI],AXMOV DX,OFFSET MESMOV AH,09HINT 21HINC SI ;显示高字节CALL SHOWDEC SI ;显示低字节CALL SHOWMOV N,0LOOP STARTSHOW PROC NEARMOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show characterMOV AH,06HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show characterMOV AH,06HINT 21HRETSHOW ENDPEXIT: MOV AX,4C00HINT 21HERROR: MOV DX,OFFSET MSG3MOV AH,09HINT 21HJMP STARTCODE ENDSEND START五、实验结果实验三基本IO口扩展实验一、实验目的了解TTL芯片扩展简单I/O口的方法,掌握数据输入输出程序编制的方法。

二、实验内容说明74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平时,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态。

其引脚图如下:74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。

其引脚图如下:本实验要求用74LS244作为输入口,读取开关状态,并将此状态通过74LS273连接到发光二极管显示。

具体实验内容如下:(1)当开关Yi为低电平时对应的发光二极管点亮,Yi为高电平时对应的发光二极管灭。

(2)当开关Yi全为高电平时,发光二极管Qi从左至右轮流点亮。

(3)当开关Yi全为低电平时,发光二极管Qi从右至左轮流点亮。

(4)自主设计控制及显示模式,完成编程调试,演示实验结果。

编程方法见IO(样例程序).txt.(在编译环境下程序名后缀为.asm且不能含有汉字) 考核方式:完成实验内容(1)(2)(3)通过。

完成实验内容(4)优秀三、实验原理图图3-2-1 74LS244与74LS273扩展I/O口原理图实验连线图:图3-2-2 扩展I/O口连线图四、实验步骤(1)实验连线:➢244的CS——ISA总线接口模块的0000H,Y7—Y0——开关K1—K8。

➢273的CS——ISA总线接口模块的0020H,Q7—Q0——发光二极管L1—L8。

➢该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。

➢该模块的数据(AD0~AD7)连到ISA总线接口模块的数据(LD0~LD7)。

(2)编写实验程序,编译链接,运行程序(3)拨动开关,观察发光二极管的变化。

五、实验程序1、笨方法实现(主要代码):START: MOV AX,MY_DATAMOV DS,AXMOV AX,MY_STACKMOV SS,AXLOP: MOV DX,0DF00HIN AL,DXCMP AL,00HJE C0CMP AL,0FFHJE C3;JE EXITMOV DX,0DF20HOUT DX,ALJMP LOPC0: MOV AL,0FEHJMP C1C3: MOV AL,07FHJMP C2C1: ;ROL AL,1;MOV DX,0DF20H;OUT DX,AL;CALL DELAY;CALL BREAK;JE C1;CMP AL,0FEH;JE EXIT;JMP C1;MOV AL,0FCHMOV DX,0DF20HOUT DX,ALCALL DELAY CALL BREAKMOV AL,0FDH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0FBH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0F7H MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0EFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0DFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0BFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,07FH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAKMOV AL,0FFHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKCALL DELAYCALL BREAKJMP LOP;CALL DELAY;CALL BREAKIN AL,DXCMP AL,080HJMP EXITC2:MOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0BFHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0DFHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0EFHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0F7HMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0FBHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0FDHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0FEHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKMOV AL,0FFHMOV DX,0DF20HOUT DX,ALCALL DELAYCALL BREAKCALL DELAYCALL BREAKJMP LOPIN AL,DXCMP AL,080HJMP EXITEXIT: MOV AH,4CHINT 21H2、循环左移右移实现:主要代码:(1)右移:LOP: MOV DX,0DF00HIN AL,DXCMP AL,0FFHJE C0;JE EXITMOV DX,0DF20HOUT DX,ALJMP LOPC0: MOV AL,07FHJMP C1C1: ROR AL,1MOV DX,0DF20HOUT DX,ALCALL DELAYcall break;CMP AL,0FEH;JE EXITJMP C1IN AL,DXCMP AL,080HJMP EXIT(2)循环左移:LOP: MOV DX,0DF00HIN AL,DXCMP AL,00HJE C0;JE EXITMOV DX,0DF20HOUT DX,ALJMP LOPC0: MOV AL,0FEHJMP C1C1: ROl AL,1MOV DX,0DF20HOUT DX,ALCALL DELAYcall break;CMP AL,0FEH;JE EXITJMP C1IN AL,DXCMP AL,080HJMP EXIT实验四可编程并行接口8255实验一、实验目的了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。

相关文档
最新文档