第一个程序用来清出来一片干净的屏幕,全部输出空格.
assume cs:code
code segment
main:
mov ax,0b800h
mov es,ax
mov di,0
mov cx,1600
lp:
mov byte ptr es:[di],' '
add di,2
loop lp
mov ax,4c00h
int 21h
code ends
end main
下面的代码完成实验3
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 is best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row: db 2,4,6,8
main:
mov ax,cs
mov ds,ax
mov si,offset row;设置行
mov bx,offset s;显示字符串
mov cx,4
lp:
push bx
mov bh,0
mov dh,ds:[si]
mov dl,0
mov ah,2
int 10h
pop bx
mov dx,ds:[bx]
mov ah,9
int 21h
inc si
add bx,2
loop lp
mov ax,4c00h
int 21h
code ends
end main
并没有简单的照抄课本。bx表示偏移量,bh也表示页码,所以使用bh之前,先入栈bx这个偏移量。
效果如下:
谢谢阅读