📄 xx.asm
字号:
dismsg macro message
lea dx,message
mov ah,09h
int 21h
endm
crlf macro
mov ah,02h
mov dl,0dh
int 21h
mov ah,02h
mov dl,0ah
int 21h
endm
DATA SEGMENT
total db 0
msg1 db 25 dup(?), 201," XIAO XUE SHENG JIA FA CE SHI",187,25 dup(?),0ah,0dh,'$'
msg2 db "please input number:",0ah,0dh,'$'
msg3 db "right!",0ah,0dh,'$'
msg4 db "wrong!",0ah,0dh,'$'
msg5 db 32,43,32,61,'$'
msg6 db "total=",'$'
esc_key equ 1bh
win_ulc equ 30
win_ulr equ 2
win_lrc equ 60
win_lrr equ 22
win_len equ 22
DATA ENDS
CODE SEGMENT
assume cs:code,ds:data
clrscr1 proc near
mov ax,600h
mov bh,1fh
xor cx,cx
mov dx,184fh
int 10h
ret
clrscr1 endp
clrscr2 proc near
mov ax,600h
mov bh,41h
mov cx,021eh
mov dx,1632h
int 10h
ret
clrscr2 endp
disp proc near
dismsg msg1
crlf
dismsg msg2
crlf
mov ah,01
int 21h
mov ah,07
mov al,13
int 21h
call clrscr1
call clrscr2
a0:
mov ah,2
mov dh,win_ulr+8
mov dl,win_ulc
mov bh,0
int 10h
a1:
mov ah,1
int 21h
cmp al,esc_key
jz exit
cmp al,13
jz b1
loop a1
b1:
mov ah,6
mov al,1
mov ch,win_ulr
mov cl, win_ulc
mov dh, win_lrr
mov dl,win_lrc
mov bh,7
int 10h
jmp a0
exit:
mov ax,4c00h
int 21h
mov cl,al
d1:
mov ah,2ch
int 21h
mov ah,0
mov al,dl
mov ah,2ch
int 21h
mov bh,0
mov bl,dl
add bx,ax
mov ax,01
int 21h
cmp bx,ax
jnz a2
dismsg msg3
add total,5
a2:
dismsg msg4
loop d1
dismsg msg6
ret
disp endp
start:
mov ax,data
mov ds,ax
call clrscr1
call disp
mov ah,4ch
int 21h
CODE ENDS
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -