利用中断程序在屏幕2、4、6、8行显示4句英文诗
这里先介绍一下BIOS当中的int 10h的中断程序,这个中断程序主要是拿来设置光标位置功能的
mov ah,2 ;设置光标
mov bh,0 ;设置在第0页
mov dh,5 ;dh当中放行号
mov dl,12 ;dl放列号
int 10h
下面我们再看看DOS提供的int 21h中断程序,这个的功能就是在光标位置显示字符串
ds:dx 指向字符串 ;把要显示的字符串要用$作为结束符
mov ah,9 ;功能号9,表示在光标位置显示字符串
int 21h ;调用int 21h中断
显示四个英文诗句到屏幕
assume cs:code
code segment
s1: db 'Good better best,','$' ;字符串数据
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4 ;s1,s2,s3,s4的偏移,字符串起始地址
row:db 2,4,6,8 ;行数
start:mov ax,cs ;cs从code段起
mov ds,ax
mov bx,offset s ;代表之后要偏移的字符串的选择
mov si,offset row
mov cx,4
ok:mov bh,0
mov dh,[si] ;放行号,放的就是2、4、6、8那些
mov dl,0 ;放列号
mov ah,2 ;传递子程序的编号
int 10h
mov dx,[bx] ;设置字符了
mov ah,9 ;调用9号子程序表示在光标位置显示字符串
int 21h
inc si ;si到下一个数据,比如说原本是2,现在到4
add bx,2 ;bx就是因为s标号处都是字形数据,所以加2
loop ok
mov ax,4c00h
int 21h
code ends
end start