最近汇编看的默默唧唧,平均每天的时间可能都不足一个小时吧。
趁打个版本的功夫,上传上来一段昨天的代码,将CMOS RAM中的系统时间取出来,显示到显示器上
其实就是 王爽 《汇编语言》的实验14,
相比上次传上来的 课程设计1,这个实在太小儿科了。
就当是培养一个上传代码的习惯吧
assume cs:code
stack segment
db 32 dup(0)
stack ends
code segment
dis: db "20??/??/?? ??:??:??",0
num: db 9,8,7,4,2,0
;///
; Save System Time to Memory
;///
start: mov ax,stack
mov ss,ax
mov sp,32
mov ax,code
mov ds,ax
mov si,offset num
mov di,offset dis+2
mov cx,6
lp: mov al,[si]
out 70H,al
in al,71H
push cx
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
pop cx
add ah,30H
add al,30H
mov [di],ah
mov [di+1],al
inc si
add di,3
loop lp
;mov ax,offset dis
;mov ds,ax
;///
; Display Time
;///
mov ax,0b800H
mov es,ax
mov di,160*12
mov ax,code
mov ds,ax
mov si,offset dis
show: mov cl,ds:[si]
mov ch,0
jcxz ok
mov es:[di],cl
inc di
;mov dx,2
;mov ds:[di],2
;mov ds:[di],dx
inc di
inc si
jmp show
ok: mov ax,4c00H
int 21H
code ends
end start
最后再上个图