assume cs:code, ds:data
;------ 数据段 ------
data segment
string db 'Hello World!$'
data ends
;------ 代码段 ------
code segment
start:
mov ax, data
mov ds, ax
mov ah, 9h
mov dx, offset string
int 21h
mov ah, 4ch ; mov ax, 4c00h
int 21h
code ends
end start
assume cs:code, ds:data
;------ 数据段 ------
data segment
db "Hello World!",0
data ends
;------ 代码段 ------
code segment
start:
mov ax, data
mov ds, ax
mov ax, 0b800h ;显存缓冲区的段地址
mov es, ax
mov bx, 0
mov si, 0
mov ch, 0
print:
mov cl, ds:[si] ;取出一个字符
jcxz exit ;如果cx为0,就直接退出程序
mov es:[bx], cl ;拷贝字符到显存缓存区
mov es:[bx+1], 11101111b ;显示的属性:红底白字
inc si
add bx, 2
loop print
exit:
mov ah, 4ch
int 21h
code ends
end start
assume cs:code, ds:data
;------ 数据段 ------
data segment
db "Hello World!",1
data ends
;------ 代码段 ------
code segment
start:
mov ax, data
mov ds, ax
mov ax, 0b800h ;显存缓冲区的段地址
mov es, ax
mov bx, 0
mov si, 0
mov ch, 0
print:
mov al, ds:[si] ;取出一个字符
mov es:[bx], al ;拷贝字符到显存缓存区
mov es:[bx+1], 11001111b ;显示的属性:红底白字
inc si
add bx, 2
mov cl, ds:[si] ;取出下一个字符
loop print
mov ah, 4ch
int 21h
code ends
end start
网友评论