|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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还是没有显示出来。这是什么原因?
|
|