在其他论坛上看到的 取CMOS RAM时间 显示代码
assume cs:codecode segment
data1: db '??/??/?? ??:??:?? ', '$';数据段, 存放转换后的ASCII码
data2: db 9, 8, 7, 4, 2, 0, '$' ;单元段, 存放当前时间在cmos ram中存放的单元地址, 用于读取BCD码
start:mov ax, cs
mov ds, ax ;ds:指向data段的数据段
mov si, offset data1
mov bx, offset data2 ;ds:指向data段的单元段
mov cx, 6
s1:push cx
mov al, ds:
out 70h, al
inal, 71h ;调用ascii子程序,功能为将BCD码转换成ASCII码,并存放在data段的数据
call ascii ;段内
inc bx
pop cx
loop s1
mov bh, 0
mov dh, 12 ;调用10H中断例程的2号子程序, 功能: 置光标, 参数:bh = 页号, dh = 行号, dl = 列号
mov dl, 22
mov ah, 2 ;ah = 子程序号
int 10h
mov dx, offset data1
mov ah, 9 ;调用21h中断例程的9号子程序, 功能: 显示字符串,知道遇到$号
int 21h ;参数: ds:dx 指向字符串首地址, ah = 子程序号
mov ah,1
int 21h
mov ax, 4c00h
int 21h
;子程序1
;功能:将al中的BCD码转换为ACSII码,并将转换后的数据存放在ds:指向的位置
;参数: al = BCD码
;返回: 无
ascii: push ax
push dx
mov ah, al
mov cl, 4
shr ah, cl
and al, 00001111b
add ah, 30h
add al, 30h
mov byte ptr ds:, ah
mov byte ptr ds:, al
add si, 3
pop dx
pop ax
ret
code ends
end start
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1015&qkSg=2&qID=68897&readSg=1
看过
不懂
不想学了 还有几个命令没学过呢!呵呵,正在学啊 看过
不懂
页:
[1]