请教高手指点

wandercooler 2008-11-23 07:18:18
以下是一个小程序,运用1CH的中断每18次进行计算,进行模拟 电子计时钟.
但是不能问题在哪里.希望高手能够帮我修正一下,感激不尽.
code segment
assume ds:code,cs:code,ss:code,es:code
timer db 18
hour dw 0
minute dw 0
sec dw 0
num db 10
temp db "00:00:00"
main proc far

org 100h
start:
mov dx,offset n1c
mov ax,seg n1c
mov ds,ax
mov ax,251ch
int 21h
mov ax,offset start
add ax,104h
mov dx,ax
int 27h
n1c:
push ax
push dx
push ds
push cs
push di
pop ds
dec timer
jz time
jmp exit
time:
mov timer,18
inc sec
cmp sec,60
jnz disp
mov sec,0
inc minute
cmp minute,60
jnz disp
mov minute,0
inc hour
cmp hour,24
jnz disp
mov hour,0
disp:

mov di,0
mov ax,hour
call bcd
mov ax,minute
call bcd
mov ax,sec
call bcd
mov ax,cs
mov es,ax
mov dx,offset temp
mov ah,9
int 21h
jmp exit

exit:
pop di
pop ds
pop dx
pop ax
iret
bcd :
div num
mov temp[di],al
inc di
mov temp[di],ah
add di,2


main endp
code ends
end start
...全文
20 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wandercooler 2008-11-25
  • 打赏
  • 举报
回复
自己没有分可以用,就没有人肯帮...唉~算了..慢慢研究.
authenticationf 2008-11-23
  • 打赏
  • 举报
回复
不懂,up
filec75 2008-11-23
  • 打赏
  • 举报
回复
不懂,up

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧