|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
新手第一发表作业,请大家多多支持
assume cs:codesg
stack segment
dw 32 dup(0)
stack ends
codesg segment
start: mov ax,0b800h
mov es,ax
mov di,160*5+15*2 ;以上这三句确定显示位置
mov ax,stack
mov ss,ax
mov sp,32 ;以上这三句初始栈
mov dl,0 ;在sget中用dl临时保存要读取的内存地址,并传递给al
mov cx,6 ;循环次数
s:
call far ptr sget ;调用sget读取时间内存地址内容
push ax ;将保存时间的ax压入栈中
loop s
mov cx,6 ;循环次数
s1: pop ax
call far ptr sout
loop s1
mov ax,4c00h
int 21h
sget: push cx
mov al,dl
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add al,30h
add ah,30h
cmp dl,6
ja snb
add dl,2
cmp dl,6
je snb
jmp okg
snb: add dl,1
okg: pop cx
retf
sout:
mov es:[di],ah
add di,2
mov es:[di],al
add di,2
cmp cx,4
jnb so
cmp cx,1
je ok
mov byte ptr es:[di],':'
jmp ok
so: mov byte ptr es:[di],'/'
ok: add di,2
retf
codesg ends
end start
|
|