; 王爽-汇编语言(第一版) 实验9
; By Jian
;
assume cs:codesg, ds:datasg , ss:stacksg
datasg segment
db 'Welcome masm5'
datasg ends
stacksg segment
dw 4 dup(0)
stacksg ends
codesg segment
start: nop
mov ax, datasg
mov ds, ax
mov ax, stacksg
mov ss, ax
mov ax, 0B800h
mov es, ax
;压栈3个跳转地址
mov ax, offset endTag
push ax
mov ax, offset round3Tag
push ax
mov ax, offset round2Tag
push ax
mov si,140h
;第一轮
round1Tag: mov bx, 0h
mov cx, 13h
mov ah, 02h ; 黑底绿字
jmp xLoop
;第二轮
round2Tag: mov bx, 0h
mov cx,13h
add si, 0a0h
mov ah, 24h ; 绿底红字
jmp xLoop
;第三轮
round3Tag: mov bx, 0h
mov cx,13h
add si, 0a0h
mov ah, 71h ; 白底蓝字
jmp xLoop
xLoop:
mov al, ds:[bx]
push bx
add bx,bx
mov es:[bx+si], ax
pop bx
inc bx
loop xLoop
pop dx
jmp dx
endTag: mov ax,4c00H
int 21H
codesg ends
end start