南邮微机原理_基于中断的字符串动态显示

实验报告

(2016 / 2017 学年第二学期)

课程名称微型计算机原理与接口技术

实验名称基于中断的字符串动态显示

实验时间2016 年12 月02 日指导单位南京邮电大学

指导教师李群

学生姓名班级学号

学院(系) 计算机、软件专业软件工程

实验报告

汇编语言与微机原理综合性实验报告

综合性实验报告 2012-2013-1 课程名称:《汇编语言与微机原理》 班级:10级计算机(1)班 学号:79 姓名:王东亮 实验项目:基于DOS系统功能调用、串处理指令的用户管理实验 1 实验目的与要求: 通过本综合性实验,可以达到以下目的: 1、掌握内存中数据的存储与管理方法; 2、掌握使用DOS系统功能调用的方法进行程序设计的三个基本步骤; 3、掌握使用DOS系统功能调用进行字符串显示与录入、存储的程序设计; 4、掌握字符串处理指令的功能、格式及使用方法; 5、掌握使用汇编语言进行程序设计、调试的方法。 2 实验内容: 1、进行子程序设计,功能为: (1)调用DOS系统功能进行字符串录入提示;并对用户根据提示输入的用户名进行存储;(2)系统自动匹配录入用户名与预设用户名,若相同,则提示“ENTER THE SYSTEM….”,否则,提示“REFUSED TO ENTER!”。 2、调用DOS系统21H中断的25H号功能,将此子程序的入口地址写入中断矢量表,中断矢 量号定义为60H。 3、定义主程序,功能如下: (1)在数据存储区域预设用户名; (2)使用INT 60H中断指令进行中断调用; 4、调试、执行程序并记录调试结果。 3 实验过程(要求在实验报告中写出全部代码,并提交纸质实验报告和电子文档,电子文档为实验报告、源代码、obj、exe文件的压缩包) 参考过程如下: 1、进入DOS操作系统; 2、键入EDIT 进入全屏幕编辑环境; 3、建立源文件.ASM 并保存; 4、返回DOS系统; 5、用汇编程序MASM对源文件汇编产生目标文件.OBJ; 6、用链接程序LINK产生执行文件.EXE;

南邮设计报告 基于8155的8LED显示串口通信机设计

南京邮电大学 课程设计实验报告 实验题目:基于8155的8LED显示串口通信机设计学院:通信与信息工程 专业: 学号: 姓名: 指导老师:林建中

第一部分实验目的及要求 1.实验目的 本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。 2.实验基本要求: 1设计一串口通信程序,波特率9600,通过RS232串口自环。 自动循环发送数据串(设计在程序中),接收并存储和显示该数据串。 2数据串单次发送由按键启动,接收端显示数据串和数据串数、正确接收数和错误数。 3数据串选择发送(预存10种数据串),通过按键选择发送,接收、存储并按序显示。 根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。 第二部分实验工具及实验器件 1.Proteus 7.5以及Keil 4软件的使用 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。而*.HEX文件则由Keil软件编译后生成。 Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVi sion)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件,而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 有了proteus和keil软件我们就需要在这两个软件中建立我们所需要的工程进行实验,具体步骤如下: 第一步:在Keil4中建立一个新的工程,命名为“软件实验”,如图2-1。

南邮计算机微机原理复试题04-09

2004 问答:计算机系统/计算机组成原理的定义。 1.填空:字符串并,倒置 2.问答:8254方式N的特点(书P173-177) 3.问答:中断/DMA的区别,DMA的特点,DMA的传送方式 4.程序题:(2进制-10进制转换)(书P118) 5.程序题:串行的2种方式;8250初始化(P118) 6.程序填空:有关8254的 7.程序题:8254+8259A 8.问答:中断方式 2005 1.关于计算机中数制的转换 2.N位补码真值的范围 3.有关汇编中关于堆栈的地址计算 4.生成COM或EXE文件的汇编步骤(P85) 5.分析指令错误 6.8254的3个计数器的功能(P181) 7.异步通信数据格式(一帧数据的格式,P230) 8.非屏蔽中断条件(P202) 9.溢出错误的原因,单工,双工的概念(P229) 10.8255A方式1的联络线的定义及物理意义 11.程序题:8254计数器产生900HZ的方波,经过滤波后送到扬声器发声,当按下任意键声 音停止(P181) 12.程序题:(关于串操作指令)用多种方法进行数据块传送(P64) 2006 1.设字长为8位,X=(8EH)补其真值位F2 H 2.写出下列操作的寻址方式: MOV DL,DS:[BP+10] 基址 ADD DL,BUF 直接 3.用图表表示下列数据的存储方式: BUF1 DB 2乘5,0A6H,’HELLO’ BUF2 DD ‘AB’,’A’ BUF3 DW 87654321H 4.编写程序,把10字节的数据块从偏移地址BUF开始的单元传送到偏移地址BUF+5开 始的缓冲区 5.编写程序,输出800HZ的音乐(P238) 6.用一条操作完成下列目标: 使AL第1位置为1 使AL后4位为0 使AL=0且C标志=0 7.软,硬中断的区别 8.CPU响应非屏蔽中断的条件

微机原理实验指导书

实验一数据传送 实验目的: 1.熟悉8086指令系统的数据传送指令及8086的寻址方式。 2.利用TurboDebugger调试工具来调试汇编语言程序。 实验任务: 1.通过下述程序段的输入和执行来熟悉TurboDebugger的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下: MOVBL,08H MOVCL,BL MOVAX,03FFH MOVBX,AX MOVDS:[0020H],BX 2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下: MOVAX,0102H MOVBX,0304H MOVCX,0506H MOVDX,0708H PUSHAX PUSHBX PUSHCX PUSHDX 出栈程序段请自行编写(用不同的出栈顺序)。

3.指出下列指令的错误并加以改正,上机验证之。 (1)MOV[BX],[SI] (2)MOVAH,BX (3)MOVAX,[SI][DI] (4)MOVBYTEPTR[BX],2000H (5)MOVCS,AX (6)MOVDS,2000H 4.设置各寄存器及存储单元的内容如下: (BX)=0010H,(SI)=0001H (10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H (10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH 说明下列各条指令执行完后AX寄存器中的内容,并上机验证。 (1)MOVAX,1200H (2)MOVAX,BX (3)MOVAX,[0120H] (4)MOVAX,[BX] (5)MOVAX,0110H[BX] (6)MOVAX,[BX][SI] (7)MOVAX,0110H[BX][SI] 5.将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分 别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。 6.设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS: 0010H单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容 交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试 编写程序段,并上机验证结果。

微机原理接口课程设计

实验一字符串匹配设计 一、设计要求:编写程序,实现两个字符串比较。如相同,则显示“MA TCH”,否则,显示“NOMATCH”。 二、设计目的:掌握提示信息的使用方法及键盘输入信息的用法。 三、程序框图: 四、程序清单: DA TA BUF1 DB 10 DB 0 DB 10 DUP(0) ;字符串1的缓冲区 BUF2 DB 10 DB 0 DB 10 DUP(0) ;字符串2的缓冲区 XS1 DB 'PLEASE INPUT STRING1!$' XS2 DB 'PLEASE INPUT STRING2!$' DSAME DB 'MATCH!','$' DDIFF DB 'NO MATCH!','$' DA TA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DA TA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,XS1 ;显示提示信息1,存放在DS:DX MOV AH,09H INT 21H CALL DISP LEA DX,BUF1;调用写字符串DS:DX指向缓冲区 MOV AH,0AH INT 21H CALL DISP LEA DX,XS2 ;显示提示信息2,存放在DS:DX MOV AH,09H INT 21H CALL DISP LEA DX,BUF2 ;调用写字符串DS:DX指向缓冲区

MOV AH,0AH INT 21H CALL DISP LEA SI,BUF1 ;SI指向BUF1的偏移地址 LEA DI,BUF2 ;DI指向BUF2的偏移地址 MOV CL,[SI+1] MOV CH,0 ;循环次数 MOV DL,[DI+1] MOV DH,0 L1: MOV AL,[SI+2] CMP AL,[DI+2] ;字符串1的第一个字符在字符串2中是否匹配 JZ L2 ;第一个字符匹配成功到L2 L3: INC DI ;第一个字符匹配不成功DI加1,DX减1 DEC DX JZ DIFF ;DX为0时说明没有匹配的结束 JMP L1 ;字符串2没完,重新匹配 L2: DEC CX ;前一个成功则CX减1 JZ SAME ;CX为0则完全匹配 DEC DX ;DX减1 JZ DIFF ;DX为0则不匹配 INC SI ;DX不为0,CX不为0则比较下一个 INC DI MOV AL,[SI+2] ;下一个字符比较 CMP AL,[DI+2] JZ L2 ;相等跳到L2继续比较下一个 DEC DX ;不相等DX减1 JZ DIFF ;DX为0则没有匹配的,结束 LEA SI,BUF1 ;DX不为0,SI回0,CX回初始值 MOV CL,[SI+1] MOV CH,0 INC DI ;DI指向下一个字符 JMP L1 ;跳到L1重新比较 SAME: LEA DX,DSAME MOV AH,09H INT 21H JMP EXIT DIFF: LEA DX,DDIFF MOV AH,09H INT 21H EXIT: MOV AH,4CH INT 21H DISP PROC ;调用单字符显示功能显示回车和换行 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H

微机原理 字符串动画

LL EQU $-LINE3 XX EQU (80-LL)/2 KG DB 60 DUP(' ') LINE4 DB ' ' L EQU $-LINE4 KK DB 60 DUP(' ') I EQU XX+1 J EQU I+L-1 LORG DB 0 COUNT DW 0 DATA ENDS STACK SEGMENT PARA STACK'STACK' MESG DB 10 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK BEG: MOV AX,DATA MOV DS,AX MOV ES,AX AGAIN: MOV AX,3 INT 10H MOV AH,9 LEA DX,TOP INT 21H MOV AH,1 INT 21H CMP AL,'1' JNE NEXT1 JMP S1 NEXT1: CMP AL,'2' JNE NEXT2 JMP S2 NEXT2: CMP AL,'3' JNE NEXT3 JMP S3 NEXT3: CMP AL,'4' JNE AGAIN JMP TC

MOV AL,4CH INT 21H S2: MOV AX,3 DISP LINE+0,XX,LL,COLOR,0,LINE1 DISP LINE+1,XX,LL,COLOR,0,LINE2 DISP LINE+2,XX,LL,COLOR,0,LINE3 MOV AH,09H LEA DX,ENDMESG INT 21H MOV AH,1 INT 16H JNZ AGAIN MOV COUNT,0 SS2: INC COUNT MOV CX,COUNT MOV AX,OFFSET KG+2 ADD AL,KG+1 ADC AH,0 SUB AX,COUNT MOV TEMP,AX DISP LINE+1,I,CX,COLOR,1,TEMP CALL DELAY CMP CX,AL JNE SS2 JMP S2 S1: MOV AX,3 INT 10H MOV AH,0AH LEA DX, MESG INT 21H JMP AGAIN S3: MOV AH,3 INT 10H DISP LINE+0,XX,LL,COLOR,0,LINE1 DISP LINE+1,XX,LL,COLOR,0,LINE2 DISP LINE+2,XX,LL,COLOR,0,LINE3 MOV COUNT,0 SS3: INC COUNT MOV CX,COUNT MOV BP,OFFSET LINE4+L SUB BP,CX

《微机原理及应用》综合复习资料

《微机原理及应用》综合复习资料 一、填空题 1、对于十六进制表示的数码19.8H,该数用压缩BCD码表示时数据为:00100101.0101B 。 2、设机器字长为8位,最高位是符号位。则十进制数–13所对应的补码为11110011B 。 3、8086/8088 CPU从功能上分EU 和BIU两部分。 4、可编程接口芯片8255A含有 3 个8位的I/O口。 5、设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H则:指令 MOV AX,[BP+SI+4]源操作数的物理地址为24514H 。 6、采用级联方式,用9片8259A可管理64 级中断。 7、指令MOV AX,[BX+DI+10H]源操作数的寻址方式为相对基址加变址寻址。 8、在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送入DX 寄存器中。 9、若中断类型码N=3H,则对应的中断向量在中断向量表中第一个字节单元地址为0000CH 。 10、要组成容量为4K×8位的存储器,需要8 片4K×1位的静态RAM芯片并联。 11、可屏蔽中断从CPU的INT R 引脚进入,只有当中断允许标志IF为 1 时,该中断才能得 到响应。 12、设计输入/输出接口时,应遵守的基本原则是:输入输入要缓冲;输出输出要锁存。 13、8086/8088CPU可访问2个独立的地址空间,一个为I/O地址空间,其大小为64K 字节; 另一个为存储器地址空间,其大小为1M 字节。 14、若定义DA1 DB ‘hello’,则(DA1+3) 存放的数据是‘1’。 15、8086/8088 CPU从功能上分为 BIU 和 EU 两部分。8086/8088CPU中执行部件的功能是负责 指令的译码和指令执行的执行。 16、8086中的BIU中有 4 个 16 位的段寄存器、一个 16 位的指令指针、 6 字节指令队 列、 20 位的地址加法器。 17、8086 可以访问 8 位和 16 位的寄存器。 18、8086CPU从偶地址读出两个字节时,需要 1 个总线周期;从奇地址读出两个字节时,需要 2 个总线周期。 19、8086/8088CPU的最小工作模式是指系统中只有一个处理器,CPU提供全部的控制信号;它是通过将 MN/MX引脚接高电平来实现的。 20、CPU访问存储器时,在地址总线上送出的地址称为物理地址地址。

单片机数码管动态显示实验报告

单片机数码管动态显示实验报告单片机数码管动态显示实验程序(汇编) 单片机数码管动态显示实验程序 org 00h ajmp head org 0030h head: mov sp,#0070h num equ p0 ;p0口连接数码管 reset: mov dptr ,#tab mov r0,#4 sh: acall show_tab call dptr_add djnz r0,sh mov r0 ,#4 sjmp reset dptr_add: inc dptr inc dptr inc dptr inc dptr

ret tab : db 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, 0A1H,86H,8EH ;;;;;;;;;;;;;;;;;;;;; 函数的功能是用来动态显示dptr上的四个数 据 ;;;;;;;;;;;;;;;;;;;;;; show_tab: clr a mov r2,#0 mov r3,#148 mov p2,#238 loop: movc a,@a+dptr mov num ,a acall delay_5ms inc r2 mov a,r2;调用片选函数前注意A的变化acall select_mov cjne r2,#4,loop mov r2,#0 clr a djnz R3,loop ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;

微机原理及应用课后答案

第一章 1-1.微处理器、微型计算机和微型计算机系统三者之间有什么不同? 【解】微处理器(CPU),由运算器和控制器组成。运算器完成算术运算和逻辑运算,控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作。 微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 微型计算机系统包括微型计算机硬件和软件。 1-4.说明位、字节、字长的概念及它们之间的关系。 【解】(1) 位(bit)。位是计算机所能表示的最基本最小的数据单位。它只能有两种状态“0”和“1”,即二进制位。 (2) 字(Word)。计算机中作为一个整体参与运算、处理和传送的一串二进制数,是计算机中信息的基本单位。 (3) 字长(Word Length)。计算机中每个字所包含的二进制位数称为字长。 它们之间的关系:字由位构成,字长指每个字所包含的位的个数。 1-5.32位机和准32位机区别 32位机指该机的数据总线宽度为32位,准32位机为芯片内部数据总线宽度是32位,片外则为16位的cpu 第二章 2-1 微型计算机由哪几部分组成,各部分的功能是什么? 【解】微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 运算器完成算术运算和逻辑运算;控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作;存储器存放原始数据、中间结果和最终结果以及程序;输入设备、输出设备与外界交换信息。 2-2.CPU在内部结构上由哪几部分组成,CPU应具备什么功能? 【解】微处理器(CPU)由运算器和控制器组成。 CPU应具备的功能:对数据进行处理并对处理过程进行控制。 2-3 4,6,8,1,9,7,2,5,10,3 2-7:第16字为70A0:DE05 末物理地址为70A00+DE05=7E805 2-8.①通用数据寄存器。四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。 AX(AH、AL)累加器。有些指令约定以AX(或AL)为源或目的寄存器。实际上大多数情况下,8086的所有通用寄存器均可充当累加器。 BX(BH、BL)基址寄存器。BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL 可用作8位通用数据寄存器。 CX(CH、CL)计数寄存器。CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。 DX(DH、DL)数据寄存器。除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。 BP、SP称为指针寄存器,用来指示相对于段起始地址的偏移量。BP和SP一般用于堆栈段。SI、DI称为变址寄存器,可用作间接寻址、变址寻址和基址变址寻址的寄存器。SI一般用于数据段,DI一般用于数据段或附加段。 2-10状态标志根据算术逻辑运算结果由硬件自动设定,它们反映运算结果的某些特征或状态,可作为后继操作(如条件转移)的判断依据。控制标志由用户通过指令来设定,它们可

微机原理关于21H中断解释

中断INT 21H :1、字符功能调用类(Character-Oriented Function)01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH —键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能(1)、功能01H、07H和08H功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾入口参数:AH=01H,过滤掉控制字符,并回显=07H,不过滤掉控制字符,不回显=08H,过滤掉控制字符,不回显出口参数:AL=输入字符的ASCII码(2)、功能02H功能描述:向标准输出设备(如:屏幕)输出一个字符。该输出还可被重定向,如果这样做,则将无法判断磁盘是否满入口参数:AH=02HDL=待输出字符的ASCII码出口参数:无(3)、功能03H功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1入口参数:AH=03H出口参数:AL=读入字符的ASCII码(4)、功能04H功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1入口参数:AH=04HDL=待输出字符的ASCII码出口参数:无(5)、功能05H功能描述:向标准的输出设备输出一个字符。该缺省的输出设备为LPT1端口的打印机,除非用MODE命令来改变入口参数:AH=05HDL=待输出字符的ASCII码出口参数:无(6)、功能06H功能描述:控制台(如:键盘、屏幕)输入/输出。如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满入口参数:AH=06H,DL=输入/输出功能选择出口参数:若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;若DL=0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII码(7)、功能09H功能描述:输出一个字符串到标准输出设备上。如果输出操作被重定向,那么,将无法判断磁盘已满入口参数:AH=09HDS:DX=待输出字符的地址说明:待显示的字符串以’$’作为其结束标志出口参数:无(8)、功能0AH功能描述:从标准输入设备上读入一个字节字符串,遇到“回车键”结束输入(输入的字符在标准的输出设备上有回显)。如果该输入操作被重定向,那么,将无法判断文件是否已到文件尾入口参数:AH=0AHDS:DX=存放输入字符的起始地址接受输入字符串缓冲区的定义说明:1、第一个字节为缓冲区的最大容量,可认为是入口参数;2、第二个字节为实际输入的字符数(不包括回车键),可看作出口参数;3、从第三个字节开始存放实际输入的字符串;4、字符串以回车键结束,回车符是接受的最后一个字符;5、若输入的字符数超过缓冲区的最大容量,则多出的部分被丢弃,系统并发出响铃,直到输入“回车”键才结束输入。例如:BUFF 80, ?, 80 DUP(?) ;最多接受80个字符出口参数:无(9)、功能0BH功能描述:检查标准输入设备上是否有字符可读。该输入操作可被重定向入口参数:AH=0BH出口参数:AL=00H——无字符可读;FFH——有字符可读(10)、功能0CH功能描述:清空当前的标准输入缓冲区,再读入字符。其输入操作可被重定向入口参数:AH=0CHAL=01H、06H、07H、08H或0AH出口参数:若入口参数AL为0AH,则DS:DX=存放输入字符的起始地址,否则,出口参数AL=输入字符的ASCII码2、目录控制功能(Directory-Control Function)39H —创建目录3AH —删除目录3BH —设置当前目录47H —读取当前目录(1)、功能39H功能描述:用指定的驱动器和路径创建一个新目录入口参数:AH=39HDS:DX=指定路径的字符串地址(以0为字符串的结束标志)出口参数:CF=0——创建成功,否则,AX=错误号(03H 或05H),其含义见错误代码表(2)、功能3AH功能描述:删除指定的驱动器和路径的目录入口参数:AH=3AHDS:DX=指定路径的字符串地址(以0为字符串的结束标志)出口参数:CF=0——删除成功,否则,AX=错误号(03H或05H),其含义见错误代码表(3)、功能3BH 功能描述:用指定的驱动器和路径设置为当前目录入口参数:AH=3BHDS:DX=指定路径的字符串地址(以0为字符串的结束标志)出口参数:CF=0——设置成功,否则,AX=错误号(03H),其含义见错误代码表(4)、功能47H功能描述:取当前目录的完全路径字符串入口

8086微机原理打字练习程序

1课程设计题目与要求 设计题目: 打字练习程序 课程设计内容: 设计一个在键盘上练习打字的程序。先在屏幕上显示一段文字,用户按照它在键盘上输入,如果按错键则以红色显示并报警,正确的输入,则正常显示。 课程设计目的: 熟悉和掌握有关键盘ASCⅡ码,中断及字符显示技术。 课程设计要求: 自行编制报警中断和显示错字红色中断处理程序,为保存原中断向量。程序运行时,通过条件调用自编的中断向量处理程序。程序退出时,恢复中断向量。 屏幕上显示出提示信息和练习的字符段,按照字符段从键盘上输入字符即可,每输入完一行后能自动刷新练习的字符段按Esc键可退出程序。 2相关理论知识 2.1扬声器驱动 PC机上的大多数I/O都是由主板上的8255(或8255A)可编程外围接口芯片(PPI)管理,用PPI输出寄存器中的PB0和PB1来控制扬声器的驱动,而8253的通道2的输出端与扬声器相连,PB0连接通道2的CKL2,PB1和通道2的OUT2通过一与非门连接扬声器,在PB0与PB1都为高电平时,由8253产生的脉冲就进入扬声器产生声音。 2.2 相关指令 1)无条件转移指令 无条件转移指令必须指定转移的目标地址(或称为转向地址),将程序无条件地转移到目标地址,去执行从该地址开始的指令。如“JMP 目标地址” 2)条件转移指令

条件指令是根据执行该指令前标志位的状态而决定是否发生的控制转移指令。每条指令测试不同的标志位组合,看是否满足条件。若不满足,则继续执行跟在条件转移指令后面的指令;若满足则将程序控制指令转移到改指令给出的目标地址,去执行那里开始的程序。如用到的“JA 目标地址” 用到的标志符: JC-------CF标志为1,则转移 JNC-------CF标志为0,则转移 JA-------高于/不低于等于转移 JB-------低于/不高于等于转移 JG-------大于/不小于等于转移 3)循环控制指令 在设计循环程序时,可用于控制指令来控制循环是否继续。如loop指令,其指令格式“loop 目标地址” 4)子程序调用和返回指令 CALL指令:实现子程序(或过程)的调用。其格式“CALL 目标地址” RET指令:和CALL指令配对用,实现调用指令结束后的返回 为了保证返回的正确性,CPU会自动将CALL指令的下一条指令所在的内存地址推入堆栈;当子程序执行RET指令时,会将堆栈栈顶的内容弹出,放在IP和/或CS寄存器中,以保证子程序调用过程和返回过程的正确性。 5)中断指令“INT n” 改指令执行时转到中断服务(又称中断例行)程序。中断服务程序执行完后返回INT 指令下一条指令继续执行。 设计中用到的INT 10H是由BIOS对屏幕及显示器所提供的服务程序,使用INT 10H 中断服务程序时,先指定AH 寄存器为下表编号其中之一,该编号表示欲调用的功用。 设计中用到的INT 21H是由BIOS 对设备所提供的服务程序,使用INT 21H中断服务程序时,先指定AH 寄存器为下表编号其中之一,该编号表示欲调用的功用。 设计中用到的INT 16H的00,01控制从键盘读入字符的中断。 BIOS中断: (INT 10H功能表)

北邮微机原理中断程序报告

北京邮电大学实验报告 题目:微机原理软件实验 学院:信息与通信工程 专业:信息工程______ 中断实验报告 一、实验目的 1、初步掌握中断程序的设计方法; 2、初步掌握修改DOS系统中断,以适应实际使用的方法。

二:实验要求 编一程序,在显示器上显示时、分、秒。 1:借用计数器8253的Timer0作为中断源,通过8259A下向CPU发中断,每10ms 产生一次中断。 2:在中断服务程序中管理刷新时、分、秒。 3:输入文件名(如:CLK)后清屏显示 Current time is XX:XX:XX(时分秒键盘输入) 打回车,时、分、秒开始计时,时钟不停的刷新。 4:当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。 提示: 1、8253的初始化程序段可借用。 2、口地址为40H、41H、42H、43H,控制字为36H=00110110B 3、时间常数TC=11932:1.1932MHz/11932=100Hz,输出方波频率为100Hz,其周期为1000/100=10ms 三:设计思路 这个实验需要用到中断控制器8259A和计数器8253。我们先初始化8253的工作方式,利用工作方式3来计数时间,让其分频后产生100hz的方波,每100个周期即为1s,将这个方波作为中断源,通过8259A每10ms向CPU发出一次中断。然后我们将子程序Timer0的地址(CS以及IP)设置为中断向量,每次中断即执行这个子程序,在这个之程序中编写相应代码,看时间是否到1S,没到则跳出中断,等待下一次(1ms之后)中断到来,到1S则让时间+1并且重置计数值,再加上相应的时间显示程序,这样即可实现时间的自动增加与显示,可以当做一个计时器来用,这即是这个工程的主体部分。 除此之外,还需要一部分程序来实现键盘输入相应时间,这里要注意时间的每一位都有取值方面的要求,这里就要通过一系列的CMP/JMP指令的组合来达到正确输入的效果,将顺序输入的时间存储起来,配合Timer0子程序即可输出当前设置的时间并且实现时间刷新。当然,如果选择不输入时间直接回车的话,程序可以从0开始计时,可以当成一个秒表。 还有一些细节的设计如在计时过程中输入S可以重新设置时间,Ctrl+C可以退出这些也是利用CMP/JMP组合来实现。最后整个程序可以实现以下功能:可以设置开始时间然后自动计时,也可以当做秒表来使用,可以正常退出。 四:实验流程

统计字符串中某个字符出现次数

统计字符串中某个字符出现次数(共 16页) --本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--

目录 摘要........................................................ 错误!未定义书签。1课程设计目的.............................................. 错误!未定义书签。2设计条件及要求............................................ 错误!未定义书签。 程序设计条件............................................ 错误!未定义书签。 程序设计要求............................................ 错误!未定义书签。3总体方案论证.............................................. 错误!未定义书签。 总体方案思路............................................ 错误!未定义书签。 方案注意事项............................................ 错误!未定义书签。 具体方案论证............................................ 错误!未定义书签。 方案一.............................................. 错误!未定义书签。 方案二.............................................. 错误!未定义书签。 方案论证............................................ 错误!未定义书签。4流程图设计及说明.......................................... 错误!未定义书签。流程图...................................................... 错误!未定义书签。 设计说明................................................ 错误!未定义书签。5软件设计关键问题和相应程序段.............................. 错误!未定义书签。 关键问题说明......................................................................................... 错误!未定义书签。 问题解决方法......................................................................................... 错误!未定义书签。 相应程序段............................................................................................. 错误!未定义书签。6程序调试 ...................................................................................................... 错误!未定义书签。7结果记录及分析 .......................................................................................... 错误!未定义书签。8课程设计收获及心得体会 .......................................................................... 错误!未定义书签。9参考文献 ...................................................................................................... 错误!未定义书签。10附录 ............................................................................................................ 错误!未定义书签。

相关文档
最新文档