马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第一版源码如下
assume cs:code,ds:data
data segment
db "welcome to masm!" ;定义要显示的字符串
db 02h,24h,71h ;定义三种颜色属性
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b872h
mov es,ax
mov bx,0
mov si,0
mov cx,16
x1: mov al,[bx]
mov es:[si],al
mov es:[si+160],al
mov es:[si+320],al
inc bx
add si,2
loop x1 ;循环字符
mov si,1
mov cx,16
x2: mov al,[bx]
mov es:[si],al
mov al,[bx+1]
mov es:[si+160],al
mov al,[bx+2]
mov es:[si+320],al
add si,2
loop x2 ;循环属性
mov ax,4c00h
int 21h
code ends
end start
单步调试如图,首字母w没有显示出来,而且没有颜色。可能是因为后面的属性循环还没有执行的原因。
第二版源码如下
assume cs:code,ds:data
data segment
db "welcome to masm!" ;定义要显示的字符串
db 02h,24h,71h ;定义三种颜色属性
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b872h
mov es,ax
mov bx,0
mov si,0
mov cx,16
x1: mov al,[bx]
mov es:[si],al
mov es:[si+160],al
mov es:[si+320],al ;循环字符
mov ah,ds:[16]
mov es:[si+1],ah
mov ah,ds:[17]
mov es:[si+161],ah
mov ah,ds:[18]
mov es:[si+321],ah ;循环属性
inc bx
add si,2
loop x1
mov ax,4c00h
int 21h
code ends
end start
单步调试如图,颜色已经有了,但是首字母w还是没有显示出来。这是什么原因?
|