第一个程序用来清出来一片干净的屏幕,全部输出空格.
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这个偏移量。
效果如下:

谢谢阅读
本文介绍两个汇编语言程序实例:一是清空屏幕显示,二是按指定位置输出多行文字。通过直接操作视频内存地址实现屏幕清空,并使用BIOS中断调用在特定行显示字符串。
1561

被折叠的 条评论
为什么被折叠?



