西电微机原理实验报告

合集下载

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

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

计算机组成原理实验报告成评语:绩教师:年月日班级:学号:姓名:地点:时间:实验一存储器实验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. 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的内部结构、工作方式、初始化编程及应用。

相关文档
最新文档