心血来潮 发表于 2014-8-3 09:14:41

实验9 改过的

assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db 02h,24h,71h

data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,data
      mov ds,ax
          mov ax,stack
          mov ss,ax
          mov sp,10h
          xor bx,bx
          mov ax,0b872h      ;ES段地址设在屏幕中间
          mov cx,3
   s3:push cx         ;循环次数入栈
      push ax         ;ES段地址入栈
          mov si,0
          mov di,0
          mov es,ax         ;设ES段地址
          mov cx,10h         ;颜色属性和字母都是10H次循环
          
        s:mov al,      ;索引内存单元字母给AL
          mov es:,al   ;将字母给ES索引的单元
          inc si            ;ES偏移到颜色属性地址
          mov al,10h       ;将内存单元中的颜色属性给AL
          mov es:,al       ;将颜色属性给ES索引的单元
          inc si               ;ES偏移到字母属性地址
          inc di               ;索引内存中下一个字母
          loop s               
          inc bx               ;索引下一个颜色偏移地址
          pop ax               ;AX出栈也就是ES的段地址
          add ax,0ah         ;段址加0AH将段地址移到下一行
          pop cx               ;循还次数出栈
          loop s3
          
          mov ax,4100h
          int 21h
          code ends
          end start
          
          WIN 7打不开,,,不知道对不对!!debug一次性还是能看到。。。

cable5881 发表于 2014-8-5 16:02:05

jkjkjkjkjkjkjkjkjkjkkj
页: [1]
查看完整版本: 实验9 改过的