汇编小闹钟Word下载.docx

上传人:b****3 文档编号:13745539 上传时间:2022-10-13 格式:DOCX 页数:12 大小:72.15KB
下载 相关 举报
汇编小闹钟Word下载.docx_第1页
第1页 / 共12页
汇编小闹钟Word下载.docx_第2页
第2页 / 共12页
汇编小闹钟Word下载.docx_第3页
第3页 / 共12页
汇编小闹钟Word下载.docx_第4页
第4页 / 共12页
汇编小闹钟Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

汇编小闹钟Word下载.docx

《汇编小闹钟Word下载.docx》由会员分享,可在线阅读,更多相关《汇编小闹钟Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

汇编小闹钟Word下载.docx

3将系统实时时间与保存的时间比较,相等则响铃

四、流程图

五、源程序

datasegment

line1db'

===========AlarmClock==========='

'

$'

setdb'

*Pleaseinputtheringbelltime:

'

hdb'

*Hour:

mdb'

*Munite:

sdb'

*Second:

crfdb0ah,0ah,'

nowdb'

*Thestarttime:

'

curdb'

=current='

nhdw0

nmdw0

nsdw0

crdb0dh,0ah,'

brdb0dh,'

rindb'

*Thetimeisreach!

errdb'

*quitinput"

0"

:

line2db'

===========ClockClose==========='

line3db'

===========ClockStart==========='

dataends

;

*****************************************************************

codesegment

mainprocfar

assumecs:

code,ds:

data

start:

pushds

subax,ax

pushax

movax,data

movds,ax

输出'

movah,9

leadx,line1

int21h

calldropline

Pleaseinputtheringbelltime:

leadx,now

2ch号功能调用,取系统时间:

ch,cl,dh中分别存放时分秒

movah,2ch

calldisplayTime

calldropline

输入响铃时间

callinput

leadx,line3

若输入出错,可输入“0”退出

leadx,err

movah,1

cmpal,'

0'

jzexit

leadx,cur

实时刷新时间,并检查响铃时间是否到了

s0:

calldisplayTime

;

消除光标

movcx,2000h

movah,01h

int10h

回车刷新

leadx,br

movah,2ch

int21h

比较时

moval,ch

cbw

cmpax,nh

jnzs0

;

比较分

moval,cl

cmpax,nm

比较秒

moval,dh

cmpax,ns

calldropline

响铃

callringbell

结束输出'

leadx,line2

exit:

ret

mainendp

响铃控制

ringbellprocnear

pushbx

pushcx

leadx,rin

movbx,30000

movcx,30000

callsound

popcx

popbx

ringbellendp

发声子程序,参数为BX,CX

soundprocnear

pushdx

pushax

movdx,cx

inal,61h

andal,10101010b

trig:

xoral,2

out61h,al

movcx,bx

delay:

loopdelay

decdx

jnetrig

popax

popdx

soundendp

接收输入的时分秒,存入nh,nm,ns

inputprocnear

leadx,set

接收时

leadx,h

calltansfer

movnh,ax

接收分

leadx,m

int21h

movnm,ax

接收秒

leadx,s

movns,ax

inputendp

输出参数ax存放接受的十进制数实际大小

tansferprocnear

movax,0

subal,30h

movbl,al

movbh,al

moval,bl

movbl,10

mulbl

movbl,bh

movbh,0

addax,bx

tansferendp

displayTimeprocnear

moval,ch;

小时的值赋给al

cbw;

al扩展成ax,用做除法的被除数

callbindec

movdl,'

显示"

"

movah,02h

int21h

moval,cl;

cbw

callbindec

;

moval,dh;

ret

displayTimeendp

bindecprocnear

pushax

pushcx

pushdx

movdx,0

movcx,10d

divcx

movbx,dx;

先保存余数

movdl,al;

显示商(即十进制二位数的十位)

ordl,30h

movah,02h

movdx,bx;

恢复余数的值(十进制二位数的个位)

adddl,30h

movah,02h

popdx

popcx

popax

ret

bindecendp

输出空行

droplineprocnear

pushax

pushdx

movah,9

leadx,cr

int21h

popdx

popax

ret

droplineendp

codeends

endstart

六、程序测试

1.输入响铃时间,选择“0”可以退出

2.current处动态刷新时间

3.时间到响铃

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1