[汇编语言]-第九章 在屏幕中间分别显示绿底红色,白底蓝色字符串"welcome to masm!"

时间:2023-03-08 23:11:25
[汇编语言]-第九章 在屏幕中间分别显示绿底红色,白底蓝色字符串"welcome to masm!"
 ;在屏幕中间分别显示绿色,绿底红色,白底蓝色字符串"welcome to masm!"
assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
db 'welcome to masm!'
db 02h,24h,71h
datasg ends
stacksg segment
db dup()
stacksg ends
codesg segment
start: mov ax,datasg
mov ds,ax mov ax,stacksg
mov ss,ax
mov sp,10H mov bx,
mov di, mov ax,0B872H ;;0B828H屏幕第一个位置
mov cx,
s3: push cx
push ax
push di mov es,ax
mov si,
mov di,
mov cx,10h
s1: mov al,ds:[bx+si]
mov es:[bx+di],al
inc si
add di,
loop s1 mov si,
pop di
mov al,ds:10h[bx+di] mov cx,10h
s2: mov es:[bx+si],al
add si,
loop s2
inc di
pop ax
add ax,0ah
pop cx
loop s3
mov ax,4c00h
int 21h
codesg ends
end start

[汇编语言]-第九章 在屏幕中间分别显示绿底红色,白底蓝色字符串"welcome to masm!"

在b872处显示'welcome to masm!'

 assume cs:code,ds:data
data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
code segment
start:
mov ax,0b872H
mov es,ax mov ax,data
mov ds,ax mov bx,
mov cx,
mov di,
s:
mov al,ds:[bx]
mov ah,ds:[]
mov es:[di],ax
inc bx
add di,
loop s mov ax,4c00h
int 21h
code ends
end start

一个字符两个字节的存储方式,低字节存储ASCII,高字节存储字符属性,一行共80个字符,占160个字节.

属性字节格式:

7  6  5  4  3  2  1  0

BL R  G  B  I  R  G  B

7闪烁

6 5 4 背景

3 高亮

2 1 0 前景

R red

G green

B blue

红底绿字:01000010B

红底闪烁绿字: 11000010B

红底高亮绿字: 01001010B

黑底白字: 00000111B

白底蓝字: 01110001B

闪烁的效果必须在全屏DOC方式下才能看到.(ps:测试一直没看到闪烁)