汇编语言

assume cs:code,ss:stack
stack segment
    db 128 dup (0)
stack ends
code segment
start:
    mov ax,stack
    mov ss,ax
    mov sp,128
    
    call copy_boot
    
    ;设置CS:IP为0:7e00h
    mov ax,0
    push ax
    mov ax,7e00h
    push ax
    retf
    
    mov ax,4c00h
    int 21h
;org 7e00h
;引导程序
boot:
    jmp boot_begin
    func0    db 'Hk_Mayfly----XIUXIUXIU~',0
    func1    db '1) reset pc',0
    func2    db '2) start system',0
    func3    db '3) clock',0
    func4    db '4) set clock',0
    ;相减得到的是标号的相对位置,+7e00h得到的绝对位置
    func_pos    dw offset func0-offset boot+7e00h
                dw offset func1-offset boot+7e00h
                dw offset func2-offset boot+7e00h
                dw offset func3-offset boot+7e00h
                dw offset func4-offset boot+7e00h
    time    db 'YY/MM/DD hh:mm:ss',0
    cmos    db 9,8,7,4,2,0
    clock1    db 'F1----change the color        ESC----return menu',0
    clock2    db 'Please input Date and Time,(YY MM DD hh mm ss):',0
    change    db 12 dup (0),0

 

 

jz指令:https://zhidao.baidu.com/question/564008138.html

 

int 16的1号程序:https://zhidao.baidu.com/question/511189643.html

posted @ 2021-03-10 22:50  丹青初鸿  阅读(36)  评论(0编辑  收藏  举报