这次练习访问CMOS RAM获取,并动态显示实时日期和时间。涉及端口访问和很多具体规范,比如BCD码和ASCII码的转换。我的代码算是简化版,显示更新间隔不是每秒,而是不断更新…导致CPU占用较高。
上面的截图是程序在VirtualBox中的运行截图。调试中我发现Bochs-2.1.1的时间飞快,运行时只看到秒和分疯狂地变化…
; 动态时钟显示.asm
; Coco 07
; 硬盘主引导扇区程序
; 2020.3.15 11:49 创建
; 2020.3.16 11:12 修改
;============================================================
SECTION main vstart=0x7c00
jmp start
;----------data
stack times 32 dw 0
string_hello db 'Hello! Welcome to Coco computer.',0
start: ;主程序
;----------code
;-初始化-
mov ax,stack
mov ss,ax
xor ax,ax
mov sp,ax