汇编语言_用写显存的方法显示多彩字符串

用的知识点

let 1...
loop let1
循环语句
隐含条件cx自减1 没循环完一遍
sal 
左移语句
mul XXXX不能是立即数)
运算过程 ax<-ax × XX
si di
可以当数组下表

代码

data segment
a1 db 'hello world'
a2 db 0
data ends

code segment
assume cs:code,ds:data
start:
mov dh,5  ;行
mov dl,16 ; 列
mov bl,4 ; 属性
mov ax,data
mov ds,ax
mov si,0
show_str:
mov ax,0b800h; 段地址 屏幕范围为0b800-bfff
mov es,ax
mov ax,160
mul dh       ;行号*160
mov di,ax     ;起始行位置
sal dl,1      ;列×2 用左移符一个格两字符
mov dh,0
add di,dx
mov cx,a2-a1;字符串长度
let1:
mov al,ds:[si]
mov es:[di],al   ;传送属性
mov byte ptr es:[di+1],bl
inc si
inc bl
add di,2
loop let1
mov ah,4ch
int 21h
code ends
end start
原创文章 12 获赞 11 访问量 401

猜你喜欢

转载自blog.csdn.net/FRANK48691/article/details/106160263
今日推荐