第8章 输入输出方法 汇编语言程序设计 教学课件.ppt

第8章 输入输出方法 汇编语言程序设计 教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 输入输出方法 汇编语言程序设计 教学课件

控制端口各位的含义如下: STB Auto Feed INIT SELECT INT D7 D6 D5 D4 D3 D2 D1 D0 (1)D4位:允许中断信号。将该位置1,允许打印机以中断方式工作,为0则不允许。 (2)D3位:联机命令。置1将设置打印机的联机工作方式,控制打印机时总是把这一位置1,否则打印机不能正常工作。打印机正常打印时这一位需要保持1。 (3)D2位:初始化信号。正常工作时总是把这一位置1,需要把打印机重新初始化时,则在这一位先清0再置1,并且要维持清0的时间0.05秒以上。初始化又称作打印机复位,复位时可观察到的现象是打印头回到最左边。 (4)D1位:自动走纸。置1要求打印机在打印完一行后(回车时)自动走纸,清0时则需要向打印机输出换行符(0AH)控制走纸。这一位通常被置为0。 (5)D0位:选通信号。CPU通过在这一位上先置1再清0,通知打印机从数据部件中取走一字节数据并打印。 把图8.2中查询输出的流程稍做修改,可以作为控制打印机以查询方式工作的程序流程,如图8.3所示。 计数器清0 读状态端口 Ready ? 送数据到数据端口 送先高后低的STB信号 打印完? 计数器加1,取下一数据 N Y Y N 结束 图8.3 查询方式控制打印机 【例8.3】控制打印机以查询方式工作,打印26个英文字母,共打印30行。 【解】 sta SEGMENT STACK DB 1024 DUP(0) sta ENDS data SEGMENT print DB abcdefghijklmnopqrstuvwxyz,0DH,0AH data ENDS code SEGMENT ASSUME CS:code,SS:sta,DS:data init PROC NEAR ;打印机初始化程序 MOV DX,37AH MOV AL,08H OUT DX,AL MOV CX,1000 init1: LOOP init1 ;延迟,维持初始化信号一段时间 MOV AL,0CH OUT DX,AL ;结束初始化,保持联机 RET init ENDP start: MOV AX,data MOV DS,AX MOV CX,30 ;30行 again: LEA BX,print ;待打印字符串首地址存放于BX中 next: MOV DX,379H wait: IN AL,DX TEST AL,80H JZ wait ;打印机忙,转去再读状态端口 DEC DX ;数据端口号 MOV AL,[BX] OUT DX,AL ;送数据到数据端口暂存 MOV DX,37AH MOV AL,0DH OUT DX,AL ;置STB信号为1 DEC AL OUT DX,AL ;置STB信号为0 CMP BYTE PTR [BX],0AH JZ newline INC B

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档