kyowjw01 发表于 2017-6-7 15:01:22

实验14访问CMOS RAM

本帖最后由 kyowjw01 于 2017-6-7 15:03 编辑

assume cs:code
code segment
start:
;***********世纪***************
                mov al,1Ch        ;在这儿赋值32h就是世纪。1Ch代表Supervisor Password
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1010b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,20h
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl
       
;***********年***************
                mov al,1Dh        ;在这儿赋值9h就是年份。1Dh代表Supervisor Password
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1010b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl

;***********月***************
                mov al,8h
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1110b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,20h
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl
               
;***********日***************
                mov al,7h
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1110b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,20h
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl
               
;***********时***************
                mov al,4h
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1011b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,20h
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl       
               
;***********分***************
                mov al,2h
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1011b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,3Ah
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl       
               
;***********秒***************
                mov al,0h
                out 70h,al        ;向地址端口70h写入要访问的单元的地址al
                in al,71h                ;从数据端口71h中取得指定单元中的数据al
               
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,0fh
               
                add ax,3030h
               
                mov cl,1011b
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:,3Ah
                mov byte ptr es:,cl
                mov byte ptr es:,ah
                mov byte ptr es:,cl
                mov byte ptr es:,al
                mov byte ptr es:,cl       
               
               
                mov ax,4c00h
                int 21h
code ends
end start
               
关于实验14,我采用的是最无脑的办法完成的。大神看了估计会喷血。
我想问的问题是,访问CMOS RAM的1CH 1DH(Supervisor Password)和 60H 61H(User Password)为什么都是0000?我该如何查看实际的Password?
如图所示

kyowjw01 发表于 2017-6-9 13:47:23

{:10_258:}觉得要沉了。我还是继续看下面的章节吧。
页: [1]
查看完整版本: 实验14访问CMOS RAM