李涛 PC机间相互通信.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
李涛 PC机间相互通信

两台PC机之间串口通信——中断方式计算机学院09级网工二班李涛 200952162CODE SEGMENTASSUME CS:CODENEW_INT: ;接收字符的中断处理程序 STI ;CPU开中断 MOV DX,3F8H ;接收的字符 INAL,DX MOV DL,AL ;显示接收字符MOV AH,2 INT 21H CMP DL,0DH ;判断是否为回车 JNZ L2 ;不是回车,转L2处 MOV DL,0AH ;若是,增加显示一个换行符 MOV AH,2 INT 21HL2: MOV AL,20H ;发中断结束命令(EOI) OUT 20H,AL IRETSTART: ;主程序部分 MOV AH,35H MOV AL,0CH INT 21H ;读取原0CH号中断服务程序的地址PUSH BX PUSH ES ;以上地址入栈保存(以便程序退出时再恢复内容) MOV AX,CS MOV DS,AX MOV DX,OFFSET NEW_INT MOV AH,25H MOV AL,0CH INT 21H ;将NET_INT位置登记为0CH号中断服务程序的地址 ;以下初始化8250 MOV DX,3FBH ;指向线路控制寄存器 MOV AL,80H ;D7置1 OUT DX,AL ;发送此字节 MOV DX,3F9H ;指向波特率除数的高字节MOV AL,0 ;1200bps对应的高字节OUT DX,AL ;发送此字节DEC DX ;指向波特率除数的低字节MOV AL,60H ;1200bps对应的低字节OUT DX,AL ;发送此字节MOV AL,1BH ;数据长度为8位,1个奇偶校验位,偶校验,1个停止位MOV DX,3FBH ;指向线路控制寄存器OUT DX,AL ;发送此字节MOV DX,3FCH ;设置Modem控制寄存器MOV AL,0BH ;允许8250发中断OUT DX,ALMOV DX,3F9H ;指向中断允许寄存器MOV AL,1 ;允许数据接收准备好中断OUT DX,AL ;发送此字节CLI ;关中断,以便对中断控制器8259A进行操作IN AL,21H ;读取中断屏蔽寄存器的内容AND AL,0EFH ;将COM1中断(即IRQ4引脚)的对应位置0,开中断OUT 21H,AL ;写入中断控制器8259A中STI ;开中断L1: ;主程序循环,等待收到字符的中断发生 MOV AH,0 INT 16H ;读取键盘字符 CMP AL,03 ;比较是否为Ctrl+C键 JNZ L1 ;若不是,继续循环EXIT: ;退出处理 MOV AH,25H MOV AL,0CH POP DS POP DX INT 21H ;恢复中断矢量表中0CH号中断服务程序的原地址 MOV AH,4CH INT 21H ;返回DOSCODE ENDS

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档