检测点14.1
(1)
mov al,2
in al,70h
out al,71h
(2)
mov al,2
out 70h,al
mov al,0
out 71h,al
in 71h,al
检测点14.2
mov dx,ax
mov cl,3
shl ax,cl
add ax,dx
add,ax,dx
其实这题也可以用课文中提示的做,都一样,很简单,就不一一说了!!!
实验14
;*******************************************************
;显示系统当前时间,原理:在CMOS RAM中存储着当前的
;时间:年月日时分秒这6个信息的长度都为一个字节,存放
;单元为 秒:0分:2时:4日:7月:8年:9
;*******************************************************
assume cs:code
data segment
db 9,8,7,4,2,0
data ends
stack segment
db '/','/',' ',':',':'
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0 ;ds:si指向字符串
mov ax,0B800H
mov es,ax
mov di,160*12+40*2 ;es:di指向显示地址,12行40列为首地址
mov cx,6
s:
push cx
mov al,[si]
out 70H,al
in al,71H
mov ah,al
mov cl,4
shr ah,cl
and al,00001111B
add ah,30H
add al,30H
mov es:[di],ah
mov byte ptr es:[di+1],2
mov es:[di+2],al
mov byte ptr es:[di+3],2
inc si
add di,6
pop cx
loop s
mov ax,stack
mov ds,ax
mov si,0
mov di,160*12+40*2+4
mov cx,5
s1:
mov al,[si]
mov es:[di],al
mov byte ptr es:[di+1],2
inc si
add di,6
loop s1
mov ax,4c00H
int 21H