📄 welcome.asm
字号:
;"Welcome Mr.xxx".
;---------------------------------------
data segment
welcome db 'Hello,Nice to meet you ,can you tell me your name...',0dh,0ah,'$'
myname db 'My name is: ','$'
maxlen db 16
actlen db ?
names db 16 dup(' ')
mess0 db 'THANKS FOR COMING HERE AND WISH YOU A GOOD DAY$'
mess1 db 'MR '
mess2 db 16 dup(' ')
crlf db 0dh,0ah,'$'
byebye db 'See you later! Byebye.',0dh,0ah,'$'
saybye db 'Press any key to say bye...',0dh,0ah,'$'
data ends
;--------------------------------------
code segment
main proc far
assume cs:code,ds:data,es:data
push ds;initlize
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
push ax;clear screen
push bx
push cx
push dx
;pusha
mov ax,0700h
mov cx,0
mov dh,25
mov dl,80
mov bh,06h
int 10h
pop dx
pop cx
pop bx
pop ax
;popa
mov ah,02h;move guang biao to (0,0)
mov bh,0
mov dh,3
mov dl,0
int 10h
mov ah,09h
lea dx,welcome
int 21h
mov ah,00h
int 1ah
add dx,8
mov bx,dx
wait11: mov ah,00h
int 1ah
cmp bx,dx
ja wait11
mov ah,09h
mov dx,offset myname
int 21h
cld
begin: mov cx,16;initialize output buffer
mov al,20h
lea di,mess2
rep stosb
lea dx,maxlen
mov ah,0ah
int 21h
; mov ah,7
; int 21h
; cmp al,3
; je exit
mov ah,02h
mov bh,ah
mov dh,8
mov dl,12
int 10h
display:
mov ch,0
mov cl,actlen
lea si,names
lea di,mess2
rep movsb
mov ah,09h
lea dx,mess0
int 21h
mov ah,00h
int 1ah
add dx,12
mov bx,dx
waiter: mov ah,00h
int 1ah
cmp bx,dx
ja waiter
mov ah,09h
lea dx,mess1
int 21h
exit:
mov ah,09h
lea dx,byebye
int 21h
mov ah,09h
lea dx,saybye
int 21h
mov ah,07h
int 21h
push ax;clear screen
push bx
push cx
push dx
;pusha
mov ax,0700h
mov cx,0
mov dh,25
mov dl,80
mov bh,ah
int 10h
pop dx
pop cx
pop bx
pop ax
;popa
mov ah,02h;move guang biao to (0,0)
mov bh,0
mov dh,0
mov dl,0
int 10h
ret
main endp
code ends
;-----------------------------
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -