|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 si,0
- mov ax,0b872h
- mov es,ax ; es初始化为显示缓冲区段地址
- mov di,0
- mov bx,17 ;指向数据段中的颜色
- mov cx,17 ;第一次绿色字符串的循环数
-
- s1:mov al,ds:[si] ;把第一个字符W存入AL中
- mov ah,[bx] ;把颜色存入AH中
- mov es:[di],ax ;放入显示缓冲区地址
- inc si
- add di,2
- loop s1
-
- xor si,si ;异或字指令 SI清0
- add di,126 ;下一行绿底红色的地址
- inc bx
- mov cx,17 ;第二次绿底红色字符串的循环数
-
- s2:mov al,ds:[si]
- mov ah,[bx]
- mov es:[di],ax
- inc si
- add di,2
- loop s2
-
- xor si,si
- add di,126 ;下一行白底蓝色的地址
- inc bx
- mov cx,17 ;第二次白底蓝色字符串的循环数
-
- s:mov al,ds:[si]
- mov ah,[bx]
- mov es:[di],ax
- inc si
- add di,2
- loop s
-
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码
第二段优化过的代码
- 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 si,0
- mov ax,0b872h
- mov es,ax
- mov di,0
- mov bx,17
- mov cx,3
-
- s0:push cx
- mov cx,17
- s1:mov al,ds:[si]
- mov ah,[bx]
- mov es:[di],ax
- inc si
- add di,2
- loop s1
-
- pop cx
- xor si,si
- add di,126
- inc bx
- loop s0
-
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码 |
评分
-
查看全部评分
|