实验6 输入输出程序设计.doc

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

实验1)掌握利用DOS、BIOS功能调用实现I/O的方法。 (2)掌握程序直接控制I/O方式。 实验内容:(1)利用DOS INT 21H功能调用,编程实现对输入的字符串进行统计; (2)利用BIOS INT 10H功能调用,控制字符显示特性。 (3)通过I/O指令直接对61端口的控制,实现扬声器发声。 实验过程: (1)从键盘输入一串字符(80,回车结束),统计其中的数字、大写字母、小写字母和其它字符。 ① 程序说明。 1)主程序利用INT 21H 的1h号功能调用输入字符串,并调用各子程序完成统计、显示功能; 2)子程序disp_msg: 利用INT 21H 的9h号功能调用显示字符串; 入口参数:DS:DX指向字符串 3)子程序disp_cnt: 利用INT 21H 的2h号功能调用显示统计数字; 入口参数: BX为待显示值 4)子程序 count: 分类统计; 入口参数:DS:DX指向字符串 出口参数: BX为数字字符;CX为大写字母;BP为小写字母;DI为其它字符 data segment str db 80 dup (?) msg0 db 13,10, Enter a string:, $ msg1 db 13,10, Numbers=, $ msg2 db 13,10, Upletters=, $ msg3 db 13,10, Lowletters=, $ msg4 db 13,10, Others=, $ data ends code segment assume cs:code,ds:data go: mov ax, data mov ds, ax lea dx , msg0 call disp_msg mov ah, 1 lea si , str lp1: int 21h mov [si], al cmp al, 13 je L0 inc si jmp lp1 L0: lea dx, str call count lea dx, msg1 call disp_msg call disp_cnt lea dx, msg2 call disp_msg mov bx, cx call disp_cnt lea dx, msg3 call disp_msg mov bx, bp call disp_cnt lea dx, msg4 call disp_msg mov bx, di call disp_cnt mov ah, 4ch int 21h disp_msg proc push ax mov ah, 9 int 21h pop ax ret disp_msg endp disp_cnt proc push ax push dx mov ax, bx mov bl, 10 div bl mov bh, ah mov dl, al add dl, 30h mov ah, 2 int 21h mov dl, bh add dl, 30h mov ah, 2 int 21h pop dx pop ax ret disp_cnt endp count proc push ax push si xor bx, bx; Numbers xor cx, cx; Upletters xor bp, bp; Lowletters xor di, di; Others mov si, dx next: mov al, [si] cmp al, 13 je done cmp al, 0 jb other cmp al, 9 jbe num cmp al, A jb other cmp al, Z jbe U_letter

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档