




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验6 I/O程序设计实验目的:(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 endscode segment assume cs:code,ds:data go: mov ax, data mov ds, ax lea dx , msg0 call disp_msg mov ah, 1 lea si , strlp1: int 21h mov si, al cmp al, 13 je L0 inc si jmp lp1L0: 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 21hdisp_msg proc push ax mov ah, 9 int 21h pop ax retdisp_msg endpdisp_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 retdisp_cnt endpcount 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 cmp al, a jb other cmp al, z jbe L_letterother: inc di jmp contnum: inc bx jmp contU_letter: inc cx jmp cont L_letter: inc bpcont: inc si jmp nextdone: pop si pop ax ret count endpcode ends end go 补充完整程序,编辑、连接、运行、调试程序。 记录编译过程中错误,并分析原因。 画出子程序disp_cnt的流程图。(2)从键盘输入一串密码(40)后,以闪烁的方式显示密码。 程序说明。1) 利用INT 21H 的7h号功能调用输入密码;2) 利用BIOS 10H 的3h号功能调用获得当前显示位置;利用BIOS 10H 的13h号功能以红底白字闪烁显示密码信息;3) 子程序disp1利用INT 21H 的2h号功能调用显示字符;子程序cls利用BIOS 10H 的6h号功能清屏。data segment msg1 db 13,10, Type a secret message :, $ msg2 db 13,10, Your secret message is:, $ secret db 40 dup (?)data endscode segmentmain proc farassume cs:code,ds:datago: mov ax,data mov ds,ax mov es,ax call cls lea dx, msg1 mov ah,9 int 21h xor bx,bx lp1: mov ah,7 int 21h cmp al,13 je disp mov secretbx, al inc bx call dsp1 jmp lp1disp: lea dx, msg2 mov ah,9 int 21h mov si,bx mov ah, 3 mov bh,0 int 10h mov cx,si mov al,0 lea bp,secret mov bl,0cfh mov ah,13h int 10h done: mov ax,4c00h int 21hmain endp dsp1 proc near push dx push ax mov dl, * mov ah, 2 int 21h pop ax pop dx ret dsp1 endp cls proc push ax push bx push cx push dx mov ch, 0 mov cl, 0 mov dh, 24 mov dl, 79 mov bh,7 mov al, 0 mov ah,6 int 10h pop dx pop cx pop bx pop ax ret cls endpcode ends end go 在全屏方式下编辑、连接、运行(在全屏方式下)、调试程序。 记录编译过程中错误,并分析原因。(3)用I/O指令直接控制输出控制寄存器(I/O端口为61h)的第1位,使该位按所需要的频率进行1和0的交替变化,从而控制开关电路产生一串脉冲波形,这些脉冲经放大后驱动扬声器发声音)。 程序说明。 程序通过IO指令使设备控制寄存器(1O端口地址为61H)的第1位交替为0和l,而61H端口的第l位和扬声器的脉冲门相连,交替为0和l的脉冲电流被放大后送到扬声器使之发出了声音。本例中CX=3000 它决定发声频率 值小声音尖锐, 值大声音低沉。 DX=6000决定 发声时间长短。 1) 主程序提示输入任一键后开始发声;2) 子程序sound 实现发声。SOUND data segment msg1 db 13,10, Enter a key to ring., $data endscode segmentmain proc farassume cs:code,ds:datago: mov ax,data mov ds,axlp1: lea dx, msg1 mov ah,9 int 21h mov ah,7 int 21h cmp al,13 je done call sound mov cx, 2000h wai1: loop wai1 jmp lp1 done: mov ax,4c00h int 21hmain endp sound pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何进行有效的SWOT分析试题及答案
- 风险监测与控制措施试题及答案
- 认识网络管理的基本架构试题及答案
- 软件工程中的用户参与的重要性试题及答案
- 提升艺术素养的班级活动设计计划
- 软件设计师未来趋势2025年试题及答案
- 完善信息化管理系统的工作计划
- 未来企业战略挑战试题及答案
- 2025届北京市怀柔区八下数学期末考试试题含解析
- 2025年网络管理模拟试题及答案
- 15D503 利用建筑物金属体做防雷及接地装置安装
- (完整版)中国书法英文版
- XX医院远程医疗服务信息系统运行维护记录(B1)
- 川教版二年级《生命.生态.安全》下册第10课《面对学习困难》课件
- 端午节趣味谜语及答案
- 天府国际生物城C7-1实验室项目环境影响报告
- 家校携手决战中考-九年级家长会课件
- 苏州昆山鹿城村镇银行2023年招聘人员笔试历年难、易错考点试题含答案附详解
- 2023年高考英语模拟卷(天津专用)(解析版)
- 山西煤炭运销集团锦瑞煤业有限公司煤炭资源开发利用、地质环境保护与土地复垦方案
- 教育公共基础知识整理版
评论
0/150
提交评论