| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 638 人关注过本帖
标题:响铃
收藏  订阅  推荐  打印 
蓝薇
Rank: 1
来自:河北衡水
等级:新手上路
帖子:2
积分:120
注册:2007-12-5
响铃

输入1到9 响铃相应的次数
data segment
array db 1,2,3,4,5,6,7,8,9
data ends
code segment
main proc far
assume cs:code,ds:data
start:
  push ds
  sub bx,bx
  push bx
  mov ah,01
  int 21h
  sub al,30h
  cmp al,0
  je exit
  mov si,0
l:
   cmp al,array[si]
   jne m
   jmp n
m:
  inc si
  jmp l
n:
  mov dl,07h
  mov ah,02
  int 21h
  dec si
  jnz n
exit:
      ret
      main endp
      code ends
      end start
(不知为什么总是响一次,各位帮帮忙,先谢谢喽)
搜索更多相关主题的帖子: mov  jmp  segment  cmp  data  
2007-12-5 12:52
zhulei1978
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:31
帖子:654
积分:8256
注册:2006-12-17

每两次响铃之间的时间间隔很短,所以分辨不出响了几次,加个延时
data segment
array db 1,2,3,4,5,6,7,8,9
data ends
code segment
main proc far
assume cs:code,ds:data
start:
  push ds
  sub ax,ax
  push ax
  mov ax,data
  mov ds,ax
  mov ah,01
  int 21h
  sub al,30h
  cmp al,0
  je exit
  mov si,offset array
l:
   cmp al,[si]
   jne m
   inc si
   jmp n
m:
  inc si
  jmp l
n:
  mov dl,07h
  mov ah,02
  int 21h
  
mov cx,5000h
loop1:push cx
mov cx,0ffffh
loop2: loop loop2
pop cx
loop loop1
  dec si
  jnz n
exit:
      ret
      main endp
      code ends
      end start

[[italic] 本帖最后由 zhulei1978 于 2007-12-5 16:29 编辑 [/italic]]
2007-12-5 14:57
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.062591 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved