[实验9]感觉已经最简单了,求点赞
assume cs:codedata segment db 'welcome to masm!'data ends
code segment start: mov ax,0B800h mov es,ax ;设置显存存地址 mov ax,data mov ds,ax ;设置数据地址 mov bx,0 mov bp,0720h mov cx,16 s: mov al,ds: mov es:,al ;第一行字符 mov es:,al ;第二行字符 mov es:,al ;第三行字符 inc bp mov byte ptr es:,02h ;第一行文字属性 mov byte ptr es:,24h ;第二行文字属性 mov byte ptr es:,71h ;第三行文字属性 inc bp inc bx loop s mov ax,4c00h int 21hcode endsend start
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,0B800h
mov es,ax
;设置显存存地址
mov ax,data
mov ds,ax
;设置数据地址
mov bx,0
mov bp,0720h
mov cx,16
s: mov al,ds:
mov es:,al ;第一行字符
mov es:,al ;第二行字符
mov es:,al ;第三行字符
inc bp
mov byte ptr es:,02h ;第一行文字属性
mov byte ptr es:,24h ;第二行文字属性
mov byte ptr es:,71h ;第三行文字属性
inc bp
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start 很不错赞 policewj 发表于 2014-6-19 23:55
请问你测试了吗?行吗?
inc bp ...
我的想法是把文本复制一个,然后设置属性一个,然后再循环!测试通过… policewj 发表于 2014-6-20 00:02
mov byte ptr es:,02h ;第一行文字属性
es:,02h位置错了
mov es:,al ;第一行字符
你先编译连接一下,运行是没有问题的,如果要修改显示在屏幕中的位置,只需要修改bp的值!如果还有更好的建议,请回复!
页:
[1]