B8000H-BFFFFH的内存空间是显存地址, 32K大小, 向这个地址写入数据就可以打印到屏幕上了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
assume cs:code, ds:data data segment db 'Hello,test' data ends code segment start: mov ax,0b800h mov ds,ax ;显存的数据段 mov si,data mov es,si ;字符串的数据段 mov si,0 mov bx,0A0h ;160表示第二行 mov cx,0Ah ;字符串长度10位 s: mov al,es:[si] inc si mov ah, 0ch ;红底黑字 mov ds:[bx],ax add bx,2 loop s mov ax,4c00h int 21h code ends end start end |
显示效果如下图: