Hello wsq

org 0x7c00    //入口
start:
    mov ax, cs
    mov ss, ax
    mov ds, ax
    mov es, ax
    
    mov si, msg     //将msg的地址放到si寄存器里
    
print:
    mov al, [si]     //[]中括号来取数据
    add si, 1
    cmp al, 0x00     //0x00结束地址
    je last          //je = jmpifequal
    mov ah, 0x0e
    mov bx, 0x0f
    int 0x10          //触发中断
    jmp print         
    
last:
    hlt           
    jmp last
    
msg:
    db 0x0a, 0x0a
    db "Hello, DTOS!"
    db 0x0a, 0x0a
    times 510-($-$$) db 0x00    
    db 0x55, 0xaa    //主引导区

解决方案设计

    - 将汇编源码编译为二进制机器码(nasm)

    - 创建虚拟盘(bximage)

    - 将二进制代码写入虚拟盘起始位置(dd)

    - 在虚拟机中将虚拟盘作为启动盘执行(vmware)

 

 将二进制码写入虚拟盘中   dd

 

posted @ 2021-07-09 15:37  wsq1219  阅读(35)  评论(0编辑  收藏  举报