⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 window.asm

📁 屏幕窗口程序的设计,在屏幕上开出三个窗口 光标首先定位在右窗口最下面一行的行首(15
💻 ASM
字号:
title wdex---variable_size video window

dseg segment
	cury db 15
	curx db 50

	lluy db 5
	llux db 10
	lrdy db 15
	lrdx db 30
	rluy db 5
	rlux db 50
	rrdy db 15
	rrdx db 70
	dluy db 18
	dlux db 15
	drdy db 22 
	drdx db 65

	lx db 10
	ly db 15
	rx db 50
	ry db 15
	dwx db 15
	dwy db 22

	ulrow db 0
	ulcol db 0
	lrrow db 0
	lrcol db 0	
dseg ends

clear macro a,b,c,d
	mov ah,6
	mov al,0
	mov ch,a
	mov cl,b
	mov dh,c
	mov dl,d
	mov bh,7
	int 10h
endm

scroll macro cont,ulrow,ulcol,lrrow,lrcol
	mov ah,6
	mov al,cont
	mov ch,ulrow
	mov cl,ulcol
	mov dh,lrrow
	mov dl,lrcol
	mov bh,70h
	int 10h
endm

postc macro y,x
	mov ah,2
	mov dh,y
	mov dl,x
	mov bh,0
	int 10h
endm

cseg segment
	assume cs:cseg,ds:dseg
main proc far 
	push ds
	sub ax,ax
	push ax 
	mov ax,dseg
	mov ds,ax
	clear 0,0,24,79
	scroll 10,5,10,15,30
	scroll 10,5,50,15,70
	scroll 4,18,15,22,65
	postc cury,curx
input:
	mov ah,0
	int 16h
	cmp ah,4bh
	jnz no_left
	push ax
	mov al,cury
	mov ry,al
	mov al,curx
	mov rx,al
	mov al,ly
	mov cury,al
	mov al,lx
	mov curx,al
	pop ax
	postc cury,curx
	jmp input
no_left:
	cmp ah,4dh
	jnz no_right
	push ax
	mov al,cury
	mov ly,al
	mov al,curx
	mov lx,al
	mov al,ry
	mov cury,al
	mov al,rx
	mov curx,al
	pop ax
	postc cury,curx
	jmp input
no_right:
	cmp ah,01
	jnz display
	ret
display:
	mov ah,0ah
	mov bh,0
	mov cx,1
	int 10h
	inc curx
	
	postc dwy,dwx
	mov ah,0ah
	mov bh,0
	mov cx,1
	int 10h
	inc dwx
	cmp dwx,65
	ja down
	postc cury,curx
	
	mov al,curx
	cmp al,30
	jle next
	cmp al,50
	jle next2
	cmp al,70
	jle next
	ja next3
next2:	
	scroll 1,5,10,15,30
	mov cury,15
	mov curx,10
	jmp next
next3:
	scroll 1,5,50,15,70
	mov cury,15
	mov curx,50
next:
	postc cury,curx
	jmp input
down:
	scroll 1,18,15,22,65
	mov dwx,15
	postc cury,curx
	jmp input

main endp
cseg ends
end main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -