微机原理实验程序-中国石油大学(华东)

合集下载

微机原理实验参考答案(航大)

微机原理实验参考答案(航大)

《微机原理》实验参考答案实验1 汇编基本指令及顺序程序设计实验实验2 分支与DOS中断功能调用程序设计实验实验3 循环结构程序设计实验实验4 存储器扩展实验实验5 8259应用编程实验实验1汇编基本指令及顺序程序设计实验一、实验目的1、掌握汇编语言的开发环境和上机过程;2、掌握DEBUG命令;3、掌握顺序程序设计方法;4、掌握寻址方式;5、理解和掌握汇编基本指令的功能。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。

要求:用3种方法实现。

答:方法一CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HMOV CX,AXMOV AX,BXMOV BX,CXCODE ENDSEND START方法二CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HXCHG AX,BXCODE ENDSEND START方法三CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HPUSH AXPUSH BXPOP AXPOP BXCODE ENDSEND START2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。

MOV AX,BX 寄存器寻址,将BX内容送AXMOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AXMOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AX 在DEBUG调试模式,用A命令直接编辑相应指令并用T命令单步执行,执行后查询相应寄存器的值并用D命令查内存。

3、已知有如下程序段:MOV AX,1234HMOV CL,4在以上程序段的基础上,分别执行以下指令:ROL AX,CL AX=2341HROR AX,CL AX=4123HSHL AX,CL AX=2340HSHR AX,CL AX=0123HSAR AX,CL AX=0123HRCL AX,CL 带进位标志位的循环左移RCR AX,CL 带进位标志的循环右移4、设有以下部分程序段:TABLE DW 10H,20H,30H,40H,50HENTRY DW 3┇LEA BX,TABLEADD BX,ENTRYMOV AX,[BX]┇要求:(1)将以上程序段补充成为一个完整的汇编程序。

华工微机实验报告-实验三-分支和循环设计实验

华工微机实验报告-实验三-分支和循环设计实验

实验报告课程名称微型计算机原理及其应用实验项目分支和循环设计实验学生姓名朱轲信学生学号201530281598专业/班级信息工程冯秉铨实验班实验成绩电子与信息学院实验中心制二〇一七年版预习报告一、实验目的1.掌握分支程序的结构。

2掌握分支程序的设计、调试方法。

3加深对循环结构的理解。

4掌握循环结构程序设计的方法。

5熟练掌握调试循环程序的方法。

二、实验设备微机一台、TDS-MD微机一台三、实验内容及步骤1.设计一数据块间的搬移程序设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存贮区(称为目的数据块)。

源数据块和目的数据块在存贮中可能有三种情况。

对于两个数据块分离的情况,数据的传送从数据块的首址开始,或者从数据块的末址开始均可,但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。

可以得出以下结论:当源数据块首址〉目的块首址时,从数据块首址开始传送数据。

当源数据块首址〈目的块首址时,从数据块末地址开始传送数据。

代码:STACK SEGMENT STACK'STACK'DB 50 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:MOV CX,0AHMOV BX,3500HMOV SI,[BX]MOV DI,[BX+2]CMP SI,DIJA A1MOV AX,SIADD AX,CXMOV SI,AXMOV AX,DIADD AX,CXMOV DI,AXDEC SIDEC DISTDREP MOVSBJMP EXITA1: CLDREP MOVSBEXIT:MOV AX,4C00HINT 21HCODE ENDSEND START流程图:结果:在源数据块中存入6个数,分别使SI大于、等于、小于DI均发觉数据正确传送。

可见程序正确。

2. (1)编制程序使S=1+2*3+3*4+4*5+……N(N+1),直到N(N+1)项大于200为止。

微机原理(山东联盟)智慧树知到课后章节答案2023年下中国石油大学(华东)

微机原理(山东联盟)智慧树知到课后章节答案2023年下中国石油大学(华东)

微机原理(山东联盟)智慧树知到课后章节答案2023年下中国石油大学(华东)中国石油大学(华东)绪论单元测试1.在洗衣机的控制系统中,仅需要硬件设备,无需软件程序即可完成洗衣机的全自动操作。

答案:错2.计算机硬件系统必须在软件系统的配合下,才能完成数据采集、信息处理和控制等功能。

答案:对第一章测试1.内存单元的地址编号是以字节为单位的答案:对2.CPU是计算机的控制中心,除了可以提供运算能力外,还可以直接与外设连接。

答案:错3.CPU字长表示的是一个字的长度,即2个字节。

答案:错4.一个字在内存单元中的存储形式通常有两种:小地址格式和大地址格式,Intel家族的CPU通常使用的是大地址格式。

答案:错5.机器数就是指连同符号位一起数值化了的数。

答案:对6.两个无符号数相加不可能溢出。

答案:错7.任何一个数的补码可以通过它的反码计算,计算方式是反码加1。

答案:错8.平常使用的数制形式有二进制、十进制以及十六进制等,这些进制在形式上仅仅是后缀不同。

答案:错9.冯·诺依曼结构计算机中的核心是运算器。

答案:对10.元件级总线是CPU和存储器、I/O接口之间传递信息的通路。

根据传送信息的类型不同分为三种,分别是数据总线、控制总线和状态总线。

答案:错11.下列选项中不能正确表示字符‘a’的ASCII码的是。

答案:01100011B12.将十进制数35.25转换为十六进制数为。

答案:23.4H13.微型计算机系统的三个层次分别是、微型计算机和微型计算机系统。

答案:微处理器14.某补码表示的8位二进制整数由5个1和3个0组成,则其可表示的最小值是。

答案:-11315.微型计算机中主要包括有。

答案:微处理器、存储器和I/O接口16.一个完整的计算机系统通常应包括。

答案:硬件系统和软件系统17.在计算机中:1Byte= bit。

答案:818.据你所学,在计算机中,表示法简化了负数表示和加减法统一运算。

答案:补码19.若一字长为8的补码形式机器数为01111110B,则其真值是。

华电微机原理与接口实验实验(完整可用程序)

华电微机原理与接口实验实验(完整可用程序)

TPC-1实验系统的结构及使用说明1. 结构TPC—l实验系统不能单独使用,它必须和PC机相连才能工作。

系统由一块PCI总线驱动卡和一个实验台构成,实验台上有8251A、8255A、8253、DAC0832、ADC0809等芯片和小键盘、数码管、8MHz晶振等器件。

实验台的结构如图1所示。

图1 TPC—1实验台主要部件分布图为了实验方便,在每一部分实验电路附近都预留有单线信号插孔,实验时只要将相应插孔用单股导线相连即可。

2. 安装安装时请按下述步骤进行。

(1)用60芯扁平电缆线连接总线驱动卡和实验台。

(2)连接实验台电源。

(3)启动计算机。

(4)打开实验台电源开关,实验台上的指示灯亮即可进行实验。

注意:在进行线路的连接过程中,必须关闭实验台的电源,在断电条件下进行操作,否则可能会引起实验台的损坏。

3. 实验台上的I/O地址实验台上的I/O地址为200~23F共64个,分8个插孔引出,它们分别是200~207;208~20F;210~217;218~21F;220~227;228~22F;230~237;238~23F;实验时只要用导线将任一插孔信号引到相应电路的CS 端即可。

图2是I/O地址译码电路。

1图2 I/O译码电路4. 编写汇编程序时使用的I/O地址因为PCI总线结构支持P&P即插即用功能,所以微机分配给PCI扩展板的资源也是动态浮动的,而不是固定不变的,因此分配给设备的I/O地址、内存储器MEM地址以及中断INT号会随着微机不同而有所变化,所以在实验前必须确定当前微机中PCI卡的资源分配,从而确定实验台上的实际I/O地址和内存储器MEM地址,并在程序中使用该地址。

操作步骤如下:(1)打开“控制面板”中“系统”对话框,找到并打开“设备管理器”,可以看到“微机原理教学实验装置”,如图3所示。

(2)查看TPC的属性,如图4所示。

可以看到两个输入/输出范围(具体数值不同计算机可能不同),其中一个范围大小是0FFH的是PCI接口芯片占用的I/O地址空间,另一个一个范围大小是07FH的是TPC 设备占用的I/O地址空间;两个内存范围,一个范围大小是0FFH的是PCI接口芯片占用的内存储器MEM 地址空间,另一个范围大小是0FFFFFH的是TPC设备占用的内存储器MEM地址空间。

中国石油大学2016年微机原理实验程序(最新)终稿

中国石油大学2016年微机原理实验程序(最新)终稿

实验一寻址方式和汇编语言程序上机调试步骤2、在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果存放到S单元。

data segmentx db 42y db -43s db 0data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov al,xadd al,ymov s,alloop: jmp loopcode endsend start3、已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元。

data segmentx db 10hy db 0hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov cl,4hmov al,xrol ax,clmov y,alloop: jmp loopcode endsend start实验二循环程序设计1、编程将数据段从00H单元起始的十个单元赋值,值为00H~09H。

DATA SEGMENT DAT DB 10 DUP(?)DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV CX,10MOV BX,0LOOPER: MOV DAT[BX],BLINC BXLOOP LOOPERLOOP:JMP LOOPCODE ENDSEND START2、现有两组数,X= -78, 127,-128, -125,88,Y=32, -43, 76, 95, 1。

编程求两个数组之和,并将结果传送到S数组内,S (i)= X(i)+ Y(i)。

DATA SEGMENTORG 0000HX DB -78,127,-128,-125,88Y DB 32,-43,76,95,1S DB 5 DUP(?)DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV CX,5MOV BX,0LOOPER :MOV AL,X[BX]MOV DL,Y[BX]ADD AL,DLMOV S[BX],ALINC BXLOOP LOOPERLOOP: JMP LOOPCODE ENDSEND START3、现有两个多位十进制数,X=5790123467,Y=1357902468。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验⼀DEBUG 调试实验类型:实验课时:指导教师:时间:2013 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.练习使⽤DEBUG,调试简单汇编程序。

⼆、实验要求1.掌握DEBUG的使⽤,调试程序。

2.读懂程序中各条指令,说明程序功能。

三、实验内容1.启动DEBUG,⽤A命令输⼊并汇编下列程序段。

100 MOV SI,200103 MOV CX,10106 MOV AL,0108 MOV [SI ],AL10A INC SI10B INC AL10D DEC CX10E JNZ 108110 INT 3四、实验结果及分析实验⼆简单汇编语⾔设计实验类型:实验课时:指导教师:时间: 2012 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.巩固DEBUG及宏汇编的使⽤。

2.加深对指令的理解。

⼆、实验要求1.设堆栈指针SP=2000H,(AX)=3000H,(BX)=5000H。

请编⼀程序将AX的内容和BX的内容进⾏交换。

请⽤堆栈作为两寄存器交换内容的中间存储单元,⽤DEBUG调试程序进⾏汇编与调试。

2.设DS=当前段指地址,(BX)=0300H,(SI)=0002H,请⽤DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装⼊0AH、0BH、0CH、0DH、0EH。

在DEBUG状态下送⼊下⾯程序,并⽤单步执⾏的⽅法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3.设(AX)=0002H,编⼀个程序段将AX的内容乘10,要求⽤移位的⽅法完成。

三、思想描述实验内容1将两个寄存器的内容进⾏交换时,必须有⼀个中间寄存器才能进⾏内容的交换,如果⽤堆栈做为中间存储单元,必须遵循先进后出的原则。

中国石油大学微机原理 实验一 DEBUG的使用

中国石油大学微机原理 实验一 DEBUG的使用

试验一寻址方式和DEBUG的使用什么是DEBUG?DEBUG是DOS提供的用于调试可执行程序的工具软件,是汇编语言程序设计常用的调试工具。

在DEBUG环境下,可直接检查和修改寄存器和内存的值,调试和运行程序,使用户进一步了解CPU内部的环境。

DEBUG程序的启动:在DOS的提示符下直接键入命令C:\>DEBUG ↙,进入DEBUG调试程序后,会出现DEBUG提示符“-”,此时就可以使用DEBUG命令了。

在XP环境下,用鼠标点击“开始”→“所有程序”→“附件”→“命令提示符”。

出现:C:\ Document and Setting \ Administrator >_>CD C:\ ↙C:\>在C:盘的根目录下C:\>debug ↙进入DEBUG调试程序后,会出现DEBUG提示符“-”,此时就可以使用DEBUG命令了。

XP环境下Dos窗口大小的切换用 Alt +↙熟悉DEBUG几个常用命令的功能及使用方法:(8个)1、R命令 (Register)。

功能:查看和修改寄存器的值。

格式:-R↙在R命令后面直接打回车,显示当前CPU 内部所有寄存器的值、标志位状态及将要执行的下一条指令。

若要显示修改某个寄存器的值,直接在R 后面输入该寄存器的名,然后回车,这时会显示该寄存器的当前值,新值直接输入即可。

注意:-R F慎用!无目的修改标志位状态会造成CPU状态混乱,不建议用。

-R 寄存器↙如:-R AX ↙AX 0000 ( 0000 当前值 ):1234 ↙( 1234 新值)讲义第44页,用R命令修改实验内容第一部分12个寄存器的值AX=1020H BX=5060H CX=A0B0H DX=E0F0H SP=FFFFH BP=0200H SI=3040H DI=7080H DS=1200H ES=1300H SS=1400H CS=1100H 2、D命令 (Dump)。

功能:显示存储器单元的值。

格式:-D 段寄存器名:起始地址在使用D命令之前,首先要明白,内存已经被划分为4个段,即:代码段CS、数据段DS、堆栈段SS和附加段ES。

中国石油大学操作系统课程设计

中国石油大学操作系统课程设计

中国石油大学(华东)操作系统课程设计设计报告中国石油大学(华东)计算机科学与技术学院要求(本页打印):1、双面打印,内容篇幅不要过长(每个实验不要超过3页),禁止贴全部程序,只贴关键代码即可。

2、禁止抄袭3、4、实验1:螺旋矩阵实验——Linux下的C编程一、实验情景描述完成一个程序,要求输入两个数字即可形成相应的字母螺旋矩阵。

例如输入5,6,则程序会生成如下5行6列的矩阵,Z之后循环至A:A B C D E FR S T U V GQ B C D W HP A Z Y X IO N M L K J二、实验原理完成程序ju.c,并用Makefile完成编译。

三、关键代码Makefile如下CC=gccOBJS=ju.oEXEC=juall:$(EXEC)$(EXEC):$(OBJS)$(CC) -o $@ $(OBJS)clean:rm -f $(OBJS) $(EXEC)ju.c部分代码如下int total = 1;char digit = 65;x = 0, y = 0;a[x][y] = 65;while(total < m*n){while(y+1<n&&!a[x][y+1]){if(digit>=90){digit = 64;}a[x][++y] = ++digit;++total;}while(x+1<m&&!a[x+1][y]){if(digit>=90){digit = 64;}a[++x][y] = ++digit;++total;}while(y-1>=0&&!a[x][y-1]){if(digit>=90){digit = 64;}a[x][--y] = ++digit;++total;}while(x-1>=0&&!a[x-1][y]){if(digit>=90){ digit = 64;}a[--x][y] = ++digit;++total; }}四、实验结果实验2:字符串对比实验——Linux下的C编程一、实验情景描述完成一个程序,输入两个字符串,判断其中一个字符串是否是另一个的子串,如果是则输出true,否则输出false。

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

实验3 循环程序设计实验内容:1.数组X,Y,Z,。

X=32,-43,76,95,-1;Y=-78,127,-128,-125,88。

计算两数之和,送入数组S。

DATA SEGMENTX DB 32,-43,76,95,-1Y DB -78,127,-128,-125,88S DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXMOV CX,5MOV SI,0FOR:MOV AL,X[SI]ADD AL,Y[SI]MOV S[SI],ALINC SILOOP FORCODE ENDSEND START2.两个多位十进制数,X=1357902468,Y=5790123467。

计算两数之和(BCD码)。

DATA SEGMENTX DB 68H,24H,90H,57H,13HY DB 67H,34H,12H,90H,57HS DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXMOV CX,5MOV SI,0CLCFOR:MOV AL,X[SI]ADD AL,Y[SI]DAAMOV S[SI],ALINC SILOOP FORCODE ENDSEND START实验4 子程序调用变成设计实验内容:用子程序调用方法,现有数组X=32,-43,76,95,-1,-78,127,-128,-125,88 编程按递增顺序排序输出。

DATA SEGMENTX DB 32,-43,76,95,-1,-78,127,-128,-125,88ENDS SEGMENTCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXCALL SUB1MOV AH,4CHINT 21HSUB1 PROC NEARMOV CX,9LP1:MOV BX,0MOV DX,CXLP2;MOV AL,X[BX]CMP AL,X[BX+1]JLE NEXTXCHG AL,X[BX+1]NEXT:INC BXDEC DXJNE LP2LOOP LP1RETSUB1 ENDPCODE ENDSEND START实验5 DOS功能调用实验内容:1.从键盘连续输入五个单个字符,然后再反向输出这5个字符。

输入:12345输出:54321CODE SEGMENTASSUME CS:CODESTART:MOV CX,5LP1:MOV AH,01INT 21HPUSH AXLOOP LP1MOV DL,0AHMOV AH,02INT 21HMOV DL,0DHMOV AH,02INT 21HMOV CX,5LP2:POP DXMOV AH,02INT 21HLOOP LP2MOV AH,4CHINT 21HCODE ENDSEND START2.从键盘输入一串字符“abcde”,然后输出3次。

DATA SEGMENTMAX DB 10STR DB 10 DUP(‘S’)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,MAXMOV AH,10INT 21HMOV CX,3LP:LEA DX,STRMOV AH,9INT 21HMOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,2INT 21HLOOP LPMOV AH,4CHINT 21HCODE ENDSEND START实验10 简单的输出接口实验实验内容;1.利用74LS75设计一个接口电路,使4个LED同时亮,同时灭,中间间隔1秒,共循环5次。

CODE SEGMENTASSUME CS:CODESTART:MOV CX,5LP;MOV DX,280HMOV AL,0FHOUT DX,ALCALL DELAYMOV DX,280HMOV AL,0HOUT DX,ALCALL DELAYLOOP LPMOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,03FFHFOR1:MOV CX,0FFFFHFOR2;LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START2.利用74LS75设计一个接口电路,使8个LED循环点亮,中间间隔1秒,共循环3次CODE SEGMENTASSUME CS:CODESTART:MOV CX,3MOV SI,8LP1:MOV DX,280HMOV AL,01HLP2:OUT DX,ALCALL DELAYSHL AL,1DEC SIJNZ LP2LOOP LP1MOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,03FFHFOR1:MOV CX,0FFFFHFOR2;LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START实验11 简单的输入接口实验实验内容:1.设计一个接口电路,当开关来回搬动1次后,在屏幕上输出‘1’,再来回搬动1次,输出‘2’,共搬动5次。

利用硬件消抖。

(D1)CODE SEGMENTASSUME CS:CODESTART:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,280HIN AL,DXAND AL,01HMOV AH,ALL2:IN AL,DXAND AL,01HCMP AH,ALJZ L2L3:IN AL,DXAND AL,01HCMP AH,ALJNZ L3POP DXMOV AH,02HINT 21HINC DLLOOP L1MOV AH,4CHINT 21HCODE ENDSEND START2.设计一个接口电路,当开关来回搬动1次后,在屏幕上输出‘1’,再来回搬动1次,输出‘2’,共搬动5次。

利用软件消抖。

(D1).CODE SEGMENTASSUME CS:CODE. START:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,280HIN AL,DXAND AL,01HMOV AH,ALL2:IN AL,DXAND AL,01HCMP AH,ALJZ L2CALL DELAYL3:IN AL,DXAND AL,01HCMP AH,ALJNZ L3CALL DELAYPOP DXMOV AH,02HINT 21HINC DLLOOP L1MOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,03FHFOR1:MOV CX,0FHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START3. 设计一个接口电路,当开关搬动1次后,在屏幕上输出‘1’,再搬动1次,输出‘2’,共搬动5次。

(D4)CODE SEGMENTASSUME CS:CODESTART:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,284HIN AX,DXAND AX,10HMOV SI,AXL2:IN AX,DXAND AX,10HCMP SI,AXJZ L2POP DXMOV AH,02HINT 21HINC DLLOOP L1MOV AH,4CHINT 21HCODE ENDSEND START实验12 数码管显示实验1. 使2个七段显示管分别显示HP,字符保持5秒钟。

CODE SEGMENTASSUME CS:CODESTART:MOV CX,03FFHL1: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,76H ;HOUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290H.MOV AL,73H;POUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV DX,280HMOV AL,00HOUT DX,ALMOV AH,4CHINT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1: MOV CX,0100HFOR2: LOOP FOR2DEC BXJNZ FOR1POP BXPOP CX.RETDONG ENDPCODE ENDSEND START2.使2个七段显示管分别显示01,23,45,67,89,每两个字符保持2秒钟。

CODE SEGMENTASSUME CS:CODESTART:MOV CX,01FFHL1: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,3FH ;0OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HMOV DX,290HMOV AL,06H;1OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV CX,01FFHL2: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,5BH ;2OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,4FH;3OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L2MOV CX,010FHL3: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,66H ;4OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,AL.CALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6DH;5OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L3MOV CX,010FHL4: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7DH ;6OUT DX,ALMOV DX,282HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,07H;7OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L4MOV CX,010FHL5: MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7FH ;8MOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6FH;9OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L5MOV DX,280HMOV AL,00HOUT DX,ALMOV AH,4CH.INT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1: MOV CX,0100HFOR2: LOOP FOR2DEC BXJNZ FOR1POP BXPOP CXRETDONG ENDPCODE ENDSEND START实验13 可编程并行接口8255A芯片实验实验内容:1.由8255A方式0的A口输出数据,驱动2个LED,循环点亮5次,每个状态保留1秒。

相关文档
最新文档