| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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
 
  复制代码 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |