1.打印helloword
assume cs:codesg,ds:data
data segment
str1 db 'hello world$' //定义helloworld。 $代表字符串结束
data ends
codesg segment
start:mov ax,data
mov ds,ax
mov dx,offset str1?
mov ah,09h //09h代表的功能是打印会从ds:dx处取字符串
int 21h //调用中断
mov ah,4ch //4ch代表程序结束
int 21h
codesg ends
end start
2.利用字符缓冲输出字符
start:mov bx,0b800h
mov es,bx
mov bx,13*160+40*2 //每行放80个字,每个字包括字符和颜色各占一个字节,所以第13行的行地址为13*80*2;第40列的列地址为40*2
mov byte ptr es:[bx],'!'
mov byte ptr es:[bx+1],0
mov byte ptr es:[bx+2],'*'
mov byte ptr es:[bx+3],0
mov ax,4c00h
int 21h
注意80*25彩色字符模式下显示字符串的汇编字符属性为:F RGB I RGB 闪烁 背景颜色 亮度 前景颜色
注意:当你往b800输入内容时先要执行cls清屏,另外命令行键入的文字也会对b800这块内存造成影响