assume cs:code,ds:data data segment db 'Welcome to masm!' ;定义字符串(将在显示缓冲区显示,共16个字节) db 2h,24h,71h ;定义每一行的颜色(各占一个字节) data ends stack segment dw 8 dup (0) ;用来临时存放CX的值 stack ends code segment start: mov ax,data mov ds,ax ;初始化data段 mov bx,1760 ;初始化起始行坐标 mov ax,stack mov ss,ax ;初始化栈段 mov sp,8 ;初始化堆栈指针 mov ax,0b800h mov es,ax ;初始化ES段,使其指向显示缓冲区 mov bp,0 ;初始化bp,指向颜色值 mov cx,3 ;初始化CX寄存器,控制外层循环次数 s: push cx ;CX入栈 mov si,0 ;指向字符,每次偏移量为1 mov di,70 ;初始化起始列坐标 mov cx,16 ;内层循环次数 s0: mov al,ds:[si] mov es:[bx+di],al mov ah,ds:[16+bp] mov es:[bx+di+1],ah inc si add di,2 loop s0 add bx,160 inc bp pop cx loop s mov ax,4c00h int 21h code ends end start效果图
【汇编语言】(第三版)实验9解答
做了【汇编语言】(第三版)的实验9,勉强做出了效果,特意贴在这儿请求前辈们多多指点不足的地方,感谢!