. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  说实在的真的不明白这是怎么循环的!有人能给我讲讲吗?谢谢!  [待解决] 回复[ 1次 ]   点击[ 236次 ]  
xiaohu
[帖 主]   [ 发表时间:2012-08-21 12:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-10 10:09
本章里面有个循环函数,delay,如下。
delay:
push ax
push dx
mov dx,1000h
mov ax,0
s1:sub ax,1
sbb dx,0
cmp ax,0
jne s1
cmp dx,0
jne s1
pop dx
pop ax
ret
fpamc
[第1楼]   [ 回复时间:2012-08-22 08:43 ]   [引用]   [回复]   [ top ] 
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36
延时程序哈,
刚开始需要AX自减1,当AX为0时,此时自减1就需要借位,那i借位后就是AX=10000H-1=0FFFFH么,利用带借位减法,去减

也就是DX=DX-0-借位 ,当有借位时DX就减1了,

那么也就是说,1(DX)=10000H(AX)
一个DX等于10000H个AX
下面判断是否为0,来判断是否退出
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved