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

📄 4.asm

📁 用于显示天堂字样
💻 ASM
字号:
data segment 
car db 238 ;天堂Ⅱ字符图形表 
DB 2ah,238,0,0 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,3,-8 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,-3,-5 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,-1 
DB 2ah,238,1,-1 
DB 2ah,238,1,-1 
DB 2ah,238,1,-1 
DB 2ah,238,1,-1 
DB 2ah,238,-4,6 
DB 2ah,238,1,1 
DB 2ah,238,1,1 
DB 2ah,238,1,1 
DB 2ah,238,1,1 
DB 2ah,238,-10,11 ;堂字字符图形表 
DB 2ah,238,1,0 
DB 2ah,238,-1,-3 
DB 2ah,238,1,1 
DB 2ah,238,-1,5 
DB 2ah,238,1,-1 
DB 2ah,238,1,-7 
DB 2ah,238,1,0 
DB 2ah,238,-1,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,1,0 
DB 2ah,238,1,-7 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,-2,-1 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,3 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,-2,-2 
DB 2ah,238,0,1 
DB 2ah,238,0,2 
DB 2ah,238,0,1 
DB 2ah,238,2,3 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-2 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,0,-1 
DB 2ah,238,-9,15 ;Ⅱ字字符图形表 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,1,-5 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,-2 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,1 
DB 2ah,238,0,2 
DB 2ah,238,0,1 
DB 2ah,238,-8,-2 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 
DB 2ah,238,1,0 

char_cnt dw ? 
pointer dw ? 
line_on db ? 
col_on db ? 
data ends 
stack segment 
db 2000 dup (0) 
stack ends 
code segment 
assume cs:code,ds:data 
main proc far 
push ds 
sub ax,ax 
push ax 
mov ax,data ;初始化DS 
mov ds,ax 
mov ah,0 ;设置300*200彩色图形方式 
mov al,3 
int 10h 
mov ah,0bh ;设置背景颜色 
mov bh,0 
mov bl,2 
int 10h 
mov ah,0bh ;设置彩色调板 
mov bh,01 
mov bl,00 
int 10h 
call clear_screen ;清屏 
lea di,car ;di指向字符图形表 
mov dh,5 ;从第5行第5列位置开始 
mov dl,5 ;显示汽车 
call move_shape 
mov ah,01h ;从键盘输入字符 
int 21h 
cmp al,0dh 
je exit 
exit:mov ah,4ch 
int 21h 
ret 
main endp 
clear_screen proc near ;清屏子程序 
push ax ;保护寄存器 
push bx 
push cx 
push dx 
mov ah,6 ;屏幕上卷功能 
mov al,6 
mov ch,0 ;左上角行号 
mov cl,0 ;左上角列号 
mov dh,250 ;右下角行号 
mov dl,200 ;右下角列号 
mov bh,7 ;卷入行属性 
int 10h ;调用显示功能 
pop dx ;恢复寄存器 
pop cx 
pop bx 
pop ax 
ret ;返回主程序 
clear_screen endp 
move_shape proc near 
push ax 
push bx 
push cx 
push dx 
push di 
mov ah,0fh ;取当前显示方式 
int 10h 
sub ch,ch ;清除寄存器CX的高字节 
mov cl,[di] ;CL放循环次数 
inc di ;di指向字符表的第一个字符 
mov char_cnt,cx ;保存循环次数 
mov pointer,di 
mov line_on,dh 
mov col_on,dl 
plot_next: 
add dh,[di+2] ;改变行列指针 
add dl,[di+3] 
cmp dl,150 ;出屏否? 

jb mov_crsr 
call erase 
pop di 
pop dx 
pop cx 
pop bx 
pop ax 
ret 
mov_crsr: 
mov ah,2 ;移动光标位置 
int 10h 
mov al,[di] 
mov bl,[di+1] ;取字符值及属性 
push cx 
mov cx,1 
mov ah,09 ;显示字符 
int 10h 
pop cx 
add di,4 ;di指向下一个字符 
loop plot_next 
call dly_qrtr ;调用延时子程序 
call erase ;调用擦除子程序 
jmp short plot_next 
move_shape endp 
erase proc near ;擦除子程序 
mov cx,char_cnt 
mov di,pointer 
mov dh,line_on 
mov dl,col_on 
erase_next: 
add dh,[di+2] 
add dl,[di+3] 
mov ah,2 
int 10h 
mov al,[di] 
mov bl,0 
push cx 
mov cx,1 
mov ah,9 
int 10h 
pop cx 
add di,4 
loop erase_next 
mov cx,char_cnt 
mov di,pointer 
mov dh,line_on 
inc col_on 
mov dl,col_on 
ret 
erase endp 
dly_qrtr proc near ;延时子程序 
push cx 
push dx 
mov dx,50000 
d11:mov cx,8000 
d12:loop d12 
dec dx 
jnz d11 
pop dx 
pop cx 
ret 
dly_qrtr endp 
code ends 
end main

⌨️ 快捷键说明

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