汇编语言程序设计 第6章输入输出程序设计

合集下载

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计

《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
1、子程序的概念和特点
子程序:把在程序中多次出现,具有独立功能 的程序段写成程序模块,该模块可被多次调用, 称之为子程序。
特点:①可重复使用(调用) ②具有通用性(可通过入口参数实现) ③可浮动性(存放位置灵活) ④可递归性和可重入性
第6章
第六章 子程序设计
一、子程序的定义 二、子程序的结构形式
三、子程序的设计和调用 四、子程序的参数传递方法 五、子程序的嵌套和递归调用 六、子程序的设计举例 七、多模块程序设计 八、汇编语言和高级语言的混合编程
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
一、子程序的定义
1、子程序的概念和特点 2、子程序的定义 3、子程序的调用和返回
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
2、子程序的定义
子程序的定义是由过程定义伪指令PROC和ENDP 来完成的。其格式如下:
过程名 PROC [NEAR/FAR]

过程名 ENDP
其中PROC表示过程定义开始,ENDP表示过程定 义结束。过程名是过程入口地址的符号表示。
一般过程名同标号一样,具有三种属性,即段 属性、偏移地址属性以及类型属性。
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
3、子程序的调用和返回
❖ 调用
①段内直接调用
格式:CALL 子程序名
功能:将子程序返回地址(断点)入栈
SP←SP-2
(SP)←IP,
并转到子程序入口地址去执行子程序。
❖ 返回指令

汇编语言程序设计实验报告

汇编语言程序设计实验报告

汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是计算机中最基本的语言,通常用于处理硬件相关问题。

在这个实验中,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

以下是我们的实验报告。

正文:1. 实验环境我们使用的实验环境是Intel 8086微处理器与高级汇编语言。

微处理器使用的是PCB-512主板,而高级汇编语言是MASM。

2. 实验目的我们的实验目的主要是学习汇编语言的基础知识和编程技巧,包括了汇编语言的寄存器、指令、内存管理等方面的知识。

我们的另一个目的是掌握汇编语言的常用编程技巧,能够独立完成一些简单的汇编程序。

3. 实验内容我们的实验内容主要包括以下几点:(1)学习汇编语言的基础知识,包括寄存器、指令、内存管理等方面的知识。

(2)掌握汇编语言的常用编程技巧,包括数据输入输出、运算、跳转等基本操作。

(3)实践用汇编语言编写程序,如计算器、菜单等实用程序。

(4)了解8086微处理器的结构和原理。

4. 实验过程在这个实验过程中,我们完成了以下几个程序:(1)计算器计算器是一个简单的程序,主要用于实现两个数之间的加、减、乘、除等基本运算。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

(2)菜单菜单是一个实用程序,主要用于展示一个简单的菜单并实现用户选择相关功能的功能。

我们使用了汇编语言中的跳转指令、输入输出指令等实现了这个程序。

5. 实验结果在我们的实验中,我们成功完成了上述两个程序。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

6. 实验总结在这个实验过程中,我们学习汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

我们通过编写计算器和菜单等简单实用程序,加深了对汇编语言的理解和认识。

我们认为这个实验对我们今后的学习和工作都有很大的帮助。

结论:通过这个实验,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

汇编语言_输入输出程序设计

汇编语言_输入输出程序设计

《汇编语言程序设计教程》之输入输出程序设计指导老师:XXX制作人:XXX一、实验目的通过学习《汇编语言程序设计教程》的相关知识完成输入输出程序的相关操作,理解有关改程序的理论知识,掌握设计报告的流程以及解决问题的方法,并且提高利用计算机分析解决综合性实际问题的基本能力,将理论与实践相结合,实现对知识的升华以及灵活运用,具体步骤如下:1)掌握输入输出指令的使用;2)了解对CMOS RAM的读写3)访问CMOS RAM,编程,以“年/月/日时:分:秒”的格式,显示当前的日期、时间。

观察并记录运行结果。

二、实验原理及基本技术路线图(方框原理图)程序源代码:assume cs:code,ds:datadata segmenttime db 'yy/mm/dd hh:mm:ss',0dh,0ah,'$'cmos db 9,8,7,4,2,0data endscode segmentstart:mov ax,datamov ds,axmov bx,0mov si,0mov cx,6a: push cxmov al,cmos[bx]out 70h,alin al,71hmov ah,almov cl,4shr al,cland ah,0fhadd ax,3030hmov word ptr time[si],axinc bxadd si,3pop cxloop amov ah,6mov al,0mov bh,1fhmov cx,0mov dx,184fhint 10hmov ah,2mov bh,0mov dh,13mov dl,32int 10hmov dx,offset timemov ah,9int 21hmov ax,4c00hint 21hcode endsend start三、所用仪器、材料(设备名称、型号、规格等)Masm 6.0,debug。

四、实验方法、步骤1.使用masm6.0将所写的程序进行编译,生成exe文件,运行。

汇编语言程序设计

汇编语言程序设计

《汇编语言程序设计》课程教学大纲学时:32 学分:2理论学时:24 实验学时:8面向专业:电科、电信、通信课程代码:B2700009先开课程:C语言程序设计课程性质:必修执笔人:王艳春审定人:陈龙猛、张金政第一部分:理论教学部分一、说明1、课程的性质、地位和任务本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。

掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。

汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。

因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。

通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。

2、课程教学和教改基本要求课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。

通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。

学习这门课程,应达到以下几个要求:①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧;②具有阅读,分析汇编语言程序的能力;③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行过程及debug工具的调试手段。

课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,主要讲解设计思想、实现技巧,通过提问题引导学生思考,提高学生的学习兴趣,从而加深学生对理论课的理解,提高学生的动手能力。

二、教学内容与课时分配第一章基础知识(2学时)1.1 机器语言及汇编语言的产生1.2 汇编语言的组成1.3 存储器1.4 指令和数据1.5 存储单元及CPU对存储器的读写1.6 三大总线1.7 主板、接口卡及各类存储器芯片1.8 内存地址空间教学的重点与难点:指令和数据在内存或磁盘上没有区别;内存地址空间。

汇编语言程序设计

汇编语言程序设计

段寄存器赋值
在DOS环境下运行程序时,DOS的装载程序对寄 存器CS:IP、SS:SP作正确的初始化,而将段寄存 器DS、ES初始化为程序段前缀PSP的起点,而不是用 户所需的地址。因此段寄存器DS、ES的赋值还要有程 序本身来完成。如 MOV AX,DATA MOV DS,AX 注意这里的MOV 指令,其源操作数是段名,它是把 段名对应段的基地址送给目的操作数,这是传送指令 中的一个特殊情况。
汇编语言程序语句的格式
注释域以分号打头,注释部分是编程者对指令的作 用所作的言简意赅的说明。汇编语言不对这部分汇编。
• 汇编语言中的标号或名字或其他变量名(统称标识符)


必须是由字母或特殊字符打头的字母数字串,中间不能 有空格。合法的字符包括:字母 A~Z 或 a~z ;数字 0~9 ; 特殊字符有问号(?)、圆点(.)、@、下横线(_) 和美元符号($),圆点只能作为第一个字符。 标号和名字的长度不超过31个字符,超过部分均被删 去。 标识符不能和保留字重名
MASM.EXE是用于8088/8086、80286、80386等CPU的微机上的一种宏汇编 程序。它支持多模块的程序设计,由它生成的目标程序可直接和其他模块的汇编 语言程序的目标程序相连接,也可直接和其它高级语言程序的目标程序模块相连 接。
8088/8086汇编语言程序的上机操作过程:
1)根据任务要求,应用指令系统给定的指令编制程序; 2)利用编辑软件如EDIT等将程序输入计算机,程序名后缀*.asm; 3)应用MASM.EXE对.asm程序进行汇编,得到*.obj和*.lst文件; 4)应用LINK.EXE程序对.obj文件进行连接定位,得到*. exe文件; 5)执行*. exe文件,应用文件进行调试、查看文件执行情 况。

汇编语言程序设计(5)

汇编语言程序设计(5)
15
例:
第 4 章 汇编语言程序设计简介
ORG 1000H
BUF1: DB 38H, 7FH, 80H
BUF2: DB 45H, 66H
ORG伪指令指定了标号BUF1的地址为1000H, 而DB伪 指令是将其后的二进制数表38H, 7FH, 80H依次存放在1000H, 1001H, 1002H 3 个连续单元之中, BUF2也是一个标号, 其地 址与前一条伪指令连续, 即1003H, 1004H地址单元中依次存 放 45H, 66H。
如果在程序中要多次使用到某一地址,由EQU指令将其赋值 给一个字符名称,一旦需要对其进行变动,只要改变EQU命 令后面的数字即可,而不需要对程序中涉及到该地址的所有 指令逐句进行修改。
13
第 4 章 汇编语言程序设计简介
注意, 由EQU等值的字符名称必须先赋值后使用,且 在同一个源程序中,同一个标号只能赋值一次。 例:
H)=10H。
18
第 4 章 汇编语言程序设计简介
六、BIT——位地址符号指令
指令功能为:将位地址赋值给指定的符号名称,通常用于位符 号地址的定义。
指令如下:
字符名称 BIT 位地址
例如,X1 BIT P1.0
汇编结果为将位地址P1.0赋给变量X1,即在程序中便可 使用X1代替位地址P1.0。
19
(c)多分支
30
第 4 章 汇编语言程序设计简介
2. 一般分支程序结构实例
【例5】 x, y均为8位二进制数, 设 x存入R0, y存入R1, 求解:
1 y 1
0
x0 x0 x0
31
第 4 章 汇编语言程序设计简介
程序如下:
START:
CJNE R0,#00H,SUL1

第6章程序设计语言习题与答案

第6章程序设计语言习题与答案

第六章习题(1)复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。

用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。

这些使用助记符语言的语言后来就被称之为汇编语言。

(P135P136)2、什么是高级程序设计语言?它有什么特点?高级语言是汇编语言的一种抽象。

高级语言的设计目标就是使程序员摆脱汇编语言细节的繁琐。

高级语言同汇编语言都有一个共性,那就是:它们必须被转化为机器语言,这个转化的过程称为解释或编译。

(1)高级语言接近算法语言,易学、易掌握;(2)高级语言设计出来的程序可读性好,可维护性强,可靠性高;(3)高级语言与具体的计算机硬件关系不大,其程序可移植性好,重用率高;(4)高级语言自动化程度高,开发周期短,利于提高程序的质量。

(P138)3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P138-140)4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。

语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。

这样使得硬件系统能够支持这种语言编写的程序的有效执行。

目前最流行的语言虚拟机是Java虚拟机。

(P147)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。

编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。

汇编语言程序设计复习

汇编语言程序设计复习

知识点第一章基础知识(1)正负数的补码表示, 掌握计算机中数和字符的表示;eg.假设机器字长为8位,[+3]补=00000011B,[-3]补= 11111101 H 。

十六进制数0FFF8H表示的十进制正数为65528D,表示的十进制负数为-8D。

8位二进制数被看成是带符号补码整数时,其最小值是-128,最大值是 127 。

第二章80x86计算机组织(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器eg: IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。

(2)存储单元的地址和内容每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。

存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址;实模式下逻辑地址、选择器和偏移地址;物理地址的表示段基地址加上偏移地址。

eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。

已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。

如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H .第三章80x86的指令系统和寻址方式与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。

数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS 指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。

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

2012-9-30
第6章 输入/输出程序设计
17
安徽工业大学
网络工程系
《汇编语言程序设计》
6.3 程序查询传送方式 程序如下所示。
DATA SEGMENT BUFF DB 8 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DL, 10H MOV DI, OFFSET BUFF MOV CX, 8 AGAIN: MOV AL, DL AND AL, 0EFH OUT 4, AL CALL DELAY MOV AL, DL OUT 4, AL
6.4 中断传送方式
2012-9-30
第6章 输入/输出程序设计
2Hale Waihona Puke 安徽工业大学网络工程系
《汇编语言程序设计》
6.1 输入/输出指令 6.1.1 I/O端口编址方式
(1)统一编址:存储器(内存)与I/O端口的编址占 用同一个地址空间。特点是所有对内存操作的指令 对I/O端口同样有效,指令丰富,但会损失一部分 的内存空间。 (2)独立编址:内存与I/O端口对应不同的地址空 间。对I/O端口有专门的指令。缺点是对I/O端口操 作的指令不及统一编址时丰富(例如,8086/8088 中对I/O端口就只有最基本的输入输出指令),但 能最大程度地满足存储空间的寻址范围。
2012-9-30
;读入状态 ;将EOC送CF ;为0,则未推备好 ;读入一个A/D转换值
;选择下一个模拟量
第6章 输入/输出程序设计
19
安徽工业大学
网络工程系
《汇编语言程序设计》
第6章 输入/输出程序设计
6.1 输入/输出指令
6.2 CPU与外设传送数据的控制方式
6.3 程序查询传送方式
6.4 中断传送方式
2012-9-30
第6章 输入/输出程序设计
12
安徽工业大学
网络工程系
《汇编语言程序设计》
6.2 CPU与外设传送数据的控制方式
3.直接存储器存取(DMA)传送方式 中断输入/输出方式可以大大提高CPU的效率,但仍需要 CPU通过程序进行传送。每次中断处理需要保护断点、保护 现场及恢复现场、恢复断点,这些操作都要占用CPU的额外 时间。对于高速的外部设备在成批地交换数据时,这种中断 传送方式就显得太慢,因而不能满足高速交换数据的要求。
在程序设计中,这种寻址方式比较灵活。因为在程序中,只 要修改DX的内容就可以用同一条输入/输出指令去访问不同的 端口,实现可变端口的输入/输出。
2012-9-30
第6章 输入/输出程序设计
7
安徽工业大学
网络工程系
《汇编语言程序设计》
第6章
输入/输出程序设计
6.1 输入/输出指令 6.2 CPU与外设传送数据的控制方式
2012-9-30
第6章 输入/输出程序设计
3
安徽工业大学
6.1 输入/输出指令
内存空间 FFFFFH
网络工程系
《汇编语言程序设计》
6.1.1
内存空间 FFFFFH
I/O端口编址方式
I/O 供 I/O 接 口使用 1M FFFFH 空间
00000H
00000H
0000H
( a) 存 储 器 映 射 方 式 示 意 图 图 6 -1
( b ) I/O 映 射 方 式 示 意 图
I/O 映 射 方 式 和 存 储 器 映 射 方 式 的 示 意 图
2012-9-30
第6章 输入/输出程序设计
4
安徽工业大学
网络工程系
《汇编语言程序设计》
6.1 输入/输出指令 6.1.2 输入/输出指令
I/O指令: 输入指令: IN IN IN IN OUT OUT OUT OUT AL,PORT AX,PORT AL,DX AX,DX PORT,AL PORT,AX DX,AL DX,AX
打 印 机
AB CB

打印机连接示意图
2012-9-30
第6章 输入/输出程序设计
11
安徽工业大学
网络工程系
《汇编语言程序设计》
6.2 CPU与外设传送数据的控制方式
2.程序中断传送方式 从查询式的传输过程可以看出,它的优点是硬件开销小, 使用起来比较简单。但在此方式下,CPU要不断地查询外设的 状态,当外设未准备好时,CPU就只能循环等待,不能执行其 它程序,这样就浪费了CPU的大量时间,降低了主机的利用率。 为了解决这个矛盾,提出了中断传送方式:即当CPU进行 主程序操作时,外设的数据已存入输入端口的数据寄存器;或 端口的数据输出寄存器已空,由外设通过接口电路向CPU发出 中断请求信号,CPU在满足一定的条件下,暂停执行当前正在 执行的主程序,转入执行相应能够进行输入/输出操作的子程 序,待输入/输出操作执行完毕之后CPU即返回继续执行原来 被中断的主程序。这样CPU就避免了把大量时间耗费在等待、 查询状态信号的操作上,使其工作效率得以大大地提高。
08 系统定时器 09 键盘 0A CRT 0B 保留(通讯) 0C 串行通讯 0D 保留(ALT) 0E 软盘 0F 保留(打印机)
中断逻辑 n 0 溢出 中断 1 除法 错误 4
1.中断源
软中断
2012-9-30
第6章 输入/输出程序设计
23
安徽工业大学
6.4 中断传送方式
网络工程系
DMA方式能摆脱CPU的直接干预,利用硬件控制设备DMA
控制器(DMAC),实现外部设备与内存间的直接数据传送。
2012-9-30
第6章 输入/输出程序设计
13
安徽工业大学
网络工程系
《汇编语言程序设计》
第6章 输入/输出程序设计
6.1 输入/输出指令
6.2 CPU与外设传送数据的控制方式 6.3 程序查询传送方式 6.4 中断传送方式
1.查询方式 先查询外设的状态,后进行输入/输出操作的工作方式, 称为查询式输入/输出方式。外设的状态是通过输入指令读 外设的状态寄存器获得的。每个状态寄存器都有对应的地 址,称为端口地址。
2012-9-30
第6章 输入/输出程序设计
9
安徽工业大学
网络工程系
《汇编语言程序设计》
6.2 CPU与外设传送数据的控制方式
2012-9-30
第6章 输入/输出程序设计
6
安徽工业大学
6.1 输入/输出指令
网络工程系
《汇编语言程序设计》
6.1.3 I/O端口寻址方式
2.间接I/O端口寻址方式 这种寻址方式是用寄存器DX表示端口地址。采用这种寻址 方式的输入/输出指令是单字节编码。由于DX是16位寄存器, 所以这种寻址方式可对0~65535个端口地址进行访问: IN AL,DX IN AX,DX OUT DX, AL OUT DX, AX
数据 状态 CPU 控制
数据 状态 控制
接口
外 部 设 备
图6.2 主机与外设间传送的信息
2012-9-30
第6章 输入/输出程序设计
10
安徽工业大学
网络工程系
《汇编语言程序设计》
6.2 CPU与外设传送数据的控制方式
【例】向打印机输出字符。 打 印 机 控 制 器
C P U
DB
DB
STB BUSY
第6章 输入/输出程序设计
15
安徽工业大学
网络工程系
《汇编语言程序设计》
6.3 程序查询传送方式
程序如下: MOV BX,OFFSET BUFFER MOV CX,COUNT BG: MOV AL,[BX] MOV DX,378H OUT DX,AL MOV DX, 379H WT: IN AL, DX TEST AL,80H JZ WT MOV DX, 37AH MOV AL, 0DH OUT DX,AL MOV AL,0CH OUT DX,AL INC BX LOOP BG
2012-9-30
;设置AD启动转换 ;DI指向输入缓冲区
;使端口4的D4为0 ;停止A/D转换 ;延时等待A/D停止操作
第6章 输入/输出程序设计
18
安徽工业大学
网络工程系
《汇编语言程序设计》
6.3 程序查询传送方式
A1: IN AL, 2 TEST AL, 01H JZ A1 IN AL, 3 MOV [DI], AL INC DI INC DL LOOP AGAIN MOV AH, 4CH INT 21H CODE ENDS END START
2012-9-30
;取字符
;输出字符到控制器
;读入打印机状态 ;判忙否
;令打印机打印字符
;指向下一个输出字符
16
第6章 输入/输出程序设计
安徽工业大学
网络工程系
《汇编语言程序设计》
6.3 程序查询传送方式 例6.2 采用程序查询的数据采集程序。
问题分析:
为了采集具有8个模拟量输入的数据,通过端口4的低3位的 值选通模拟量IN0,IN1至IN7中的一个,使其通过多路开关把 一个被选择的模拟量送至A/D转换器。 A/D转换器的启停则由端口4的D4位加以控制,若D4=1, 则启动A/D转换器进行转换;若D4=0,使A/D转换器停止转换。 A/D转换器的状态信号EOC是由端口2的D0位输入CPU的, A/D转换后的数字量由端口3送入CPU。因此,端口4为控制端 口,端口2为状态端口,端口3为数据端口。
6.3 程序查询传送方式
6.4 中断传送方式
2012-9-30
第6章 输入/输出程序设计
8
安徽工业大学
网络工程系
《汇编语言程序设计》
6.2 CPU与外设传送数据的控制方式 主机与外设之间的数据传送(控制)方式有: ●程序查询传送方式 ●程序中断传送方式 ●直接存储器存取(DMA)方式 ● I/O处理机方式(简称IOP协处理机方式)。
相关文档
最新文档