响铃程序(Ringing program).doc

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

响铃程序(Ringing program) 数据段 请输入一个消息分贝数环” 数据结束 堆栈段 堆栈结束 代码段 精简代码,DS:数据、SS:栈 开始: MOV AX,数据 MOV DS,斧 打印:MOV AL,9 LEA DX,消息 INT 21 MOV AH,01h INT 21H cmp al,3ah JGE打印 cmp al,30h JL打印 MOV CX,0000h 斧头,00ffh MOV CL,AL 子CX,30h MOV DL,01h 再次:MOV啊,02h INT 21H 再一次循环 MOV AH,4ch INT 21H 代码段结束 结束的开始 文章出处:DIY部落(/course/3_program/hb/hbjs/2007124/89957.html) 代码段 例子的源代码 开始: MOV啊,1 INT 21H MOV啊,0 MOV CX,斧 开始:MOV DL,7 MOV啊,2 INT 21H 循环开始 MOV AH,4ch INT 21H 代码段结束 结束的开始 你试试,可能由于相隔的时间太短,分不清到底是响了几声 还要做一个延时的程序段!!但这是最基础的,很简单。 下面有个复杂的,你看看,是从网上复制的: 数据段 “请输入TS分贝 再次0ah dB,0Dh,again?(Y/N)$ 数据结束 代码段 精简代码,DS:数据 enter1过程;子程序,实现的功能是回车换行 把斧头 推DX MOV AH,02h MOV DL,0dh INT 21H MOV DL,0ah INT 21H 流行的DX 流行的斧头 RET enter1 ENDP 开始: MOV AX,加载数据段数据; MOV DS,斧 a0003ea DX,TS MOV啊,09h;调用09号功能显示输出字符串 INT 21H MOV啊,01h;调用01号功能接收字符 INT 21H cmp al,1”;接收的字符与1的ASCLL比较,小于则转移 JB A0001 cmp al,9;接收的字符与9的ASCLL比较,大于则转移 JA A0001 亚铝,30h;将ASCLL码转换为数字 异或啊,啊;将斧高八位清零,此时斧中的数字为接收的数字 MOV CX,斧;将斧的值赋给CX以控制循环 A0002:MOV啊,02;响铃程序段 MOV DL,07 INT 21H 环循环指令A0002; a0001ea DX,提示是否再次运行本程序再次; MOV AH,09h INT 21H MOV啊,01h;接收字符 INT 21H 电话enter1 cmp al,Y;将接收的字符与Y比较,相同则转移 JE A0003 cmp al,Y;将接收的字符与Y比较,相同则转移 JE A0003 MOV AH,4ch INT 21H 代码段结束 结束的开始 对于第一个程序,我说了,可能会因为电脑的运行时间太短,你分不清到底响了几声,你还要自己写一个延时的程序,就像2楼那样的。 那它确实是可以响N声,只是你判断不出来而已~ 本程序通过编译,运行正确; 代码段 精简代码,DS:代码 ;------------------------------------- ; Function: display the specified address (Str_Addr) string Entrance: ; Str_Addr = string address (required in the data segment) Usage: Output Str_Addr; For example: Output PromptStr usage; Output MACRO Str_Addr Lea DX, Str_Addr Mov ah, 9 Int 21h EndM ; Subroutine; delay the specified clock tick number Entrance: Didas=; the number of clock ticks 1 seconds (about 10 seconds tick tick 18.2 times, 182 times. If the delay is not 10 seconds several times, slightly larger error) Delay Proc Near Push DX Push CX Push ax XOR ax, ax Int 1Ah Mov Times, DX Mov Times[2], CX Read_Time: XOR ax, ax Int 1Ah Sub DX, Times SBB CX, Times[2] CMP DX, Didas JB Read_Time Pop ax Pop CX Po

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档