王爽的教程实验九:在屏幕输出三行字:Welcome to masm!,分别是绿色,红底绿色,白底蓝色。
我的代码:
assume cs:codesg,ds:datasg
datasg segment
db 'Welcome to masm!'
datasg ends
codesg segment
start:
mov bx,10
mov ax,datasg
mov ds,ax
mov ax,0b800h
mov es,ax
mov di,10*160+80
mov si,0
mov cx,10h
s:mov al,ds:[si]
mov ah,10000010b
mov es:[di],ax
inc si
inc di
inc di
loop s
mov cx,10h
mov si,0
s1:mov al,ds:[si]
mov ah,10100100b
mov es:[di],ax
inc si
inc di
inc di
loop s1
mov cx,10h
mov si,0
s2:mov al,ds:[si]
mov ah,11111001b
mov es:[di],ax
inc si
inc di
inc di
loop s2
mov ax,4c00h
int 21h
codesg ends
end start
输出结果:Welcome to masm!Welcome to masm!Welcome to masm!三句是连续的,并没有换行,
而老师的代码是换行的,老师又没有解释为什么。
assume cs:code,ds:data
data segment
db 'Welcome to masm!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0
mov di,10*160+80
mov cx,16
s1: mov al,ds:[si]
mov ah,00000010b
mov es:[di],ax
inc si
inc di
inc di
loop s1
mov si,0
mov di,11*160+80
mov cx,16
s2: mov al,ds:[si]
mov ah,00100100b
mov es:[di],ax
inc si
inc di
loop s2
mov si,0
mov di,12*160+80
mov cx,16
s3: mov al,ds:[si]
mov ah,01110001b
mov es:[di],ax
inc si
inc di
inc di
loop s3
mov ax,4c00h
int 21h
code ends
end start
[课程]FART 脱壳王!加量不加价!FART作者讲授!