assume cs:codesg, ds:datasg
datasg segment
;定义几个空格,一行80个word,7*80+35
dw 595 dup (0)
;定义第一行,占个10个word
db 'I',00000010B,' ',00000010B,'L',00000010B,'O',00000010B,'V',00000010B,'E',00000010B,' ',00000010B,'Y',00000010B,'O',00000010B,'U',00000010B
;定义几个空格,35+3*80+35
dw 310 dup (0)
;定义第二行,占个10个word
db 'I',00100100B,' ',00100100B,'L',00100100B,'O',00100100B,'V',00100100B,'E',00100100B,' ',00100100B,'Y',00100100B,'O',00100100B,'U',00100100B
;定义几个空格,35+3*80+35
dw 310 dup (0)
;定义第三行,占个10个word
db 'I',01110001B,' ',01110001B,'L',01110001B,'O',01110001B,'V',01110001B,'E',01110001B,' ',01110001B,'Y',01110001B,'O',01110001B,'U',01110001B
;定义几个空格
dw 755 dup (0)
datasg ends
codesg segment
start: mov ax,datasg
mov ds,ax ;数据段的地址给ds
mov ax,0b800h
mov es,ax ;显示段的地址给es
mov di,0 ;di表示第几个字符的传输,di+2就是下一个字符
mov cx,2000 ;自行定义传送前多少个word的数据,即前多少个字符
s: mov ax,[di]
mov es:[di],ax
add di,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
感觉这个实验要求少就简单,就是全面copy数据,然后算一下在哪显示文字好看就行了。