;说明,其实输出的256个字符,按照规范应该 是从70h/71h读出前128 个字节
;后128个从72h/73h 读出 此处是直接读出的不符合, 就不改了
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
data1 db 'CMOS'
data ends
code segment
start:
;不能把清屏函数放在main中,否则会出现不停的闪动
call clear ;清屏 把屏幕上的东西都插掉,同时光标回到0行0列
call print ;输出 cmos 4个字符
mov ax,stack ;设置栈
mov ss,ax
mov sp,128
mov dx,0b800h ;将 显示内存缓冲区 的地址 赋给 es
mov es,dx
call write1 ;显示 横向 的指标 00,01,02,03,04...
call write2 ;显示 纵向 的指标
main:
;需要一直不断刷新的数据只有cmos中的那些会变的数据,所以不断的循环
call WriteCmos ;显示读取的 cmos 中的数据
;--------------------------------------------------------
;注意此部分内容,当调用exit 时 ,只能先按 esc 键才能退出 ,若是先按下其它键,esc会失效
;若不掉用exit , 用下面分号注释掉的部分,则按任意键都会退出
;call exit ;按 esc 退出
mov ah,0bh