下面的程序,分别在屏幕的第2、4、6、8行显示四句英文诗,补全程序。
完成后编译运行,体会其中的编程思想。
[bx]表示一个内存单元,它的偏移地址在bx中,比如下面的指令:
mov ax,[bx]
表示将一个段地址在ds中,偏移地址在bx中的长度为2字节的字单元的内容送入ax。
完成后编译运行,体会其中的编程思想。
assume cs:code
code segment
s1:db 'Good,better,beat,','$'
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
row:db 2,4,6,8
start:mov ax,cs
mov ds,ax
mov bx,offset s
mov si,offset row
mov cx,4
ok: mov bh,0
mov dh,[si] ;mov dh,_______
mov dl,0
mov ah,2
int 10h
mov dx,[bx] ;mov dx,_______
mov ah,9
int 21h
inc si ;_____________
add bx,2 ;_____________
loop ok
mov ax,4c00h
int 21h
code ends
end start
注意区分'内存单元地址'和'内存单元中的数据'两个不同的概念
[bx]表示一个内存单元,它的偏移地址在bx中,比如下面的指令:
mov ax,[bx]
表示将一个段地址在ds中,偏移地址在bx中的长度为2字节的字单元的内容送入ax。