📄 sh_car.asm
字号:
Title show the car
;程序描述:按题目要求显示小车图形
;作者:杜巧钗
;创建日期:06-11-10
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
CAR1 DB 14 ;符号数目
DB 0DBH,1,0,0 ;ASCII码,属性,相对位移
DB 43H,42H,0,1
DB 41H,5AH,0,1
DB 52H,75H,0,1
DB 0DBH,1,0,1
DB 0DBH,2,1,-4
DB 0DBH,3,0,1
DB 0DBH,4,0,1
DB 0DBH,5,0,1;
DB 0DBH,6,0,1
DB 0DBH,7,0,1
DB 0DBH,8,0,1
DB 4FH,11,1,-5
DB 4FH,14,0,4
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
CALL CLEAR
LEA SI,car1
MOV DH,18 ;坐标位置,1672按要求变为,行16+2,列72-50
MOV DL,22
CALL CAR
RET
MAIN ENDP
CLEAR PROC NEAR ;清屏
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,6
MOV AL,0
MOV CX,0
MOV DH,24
MOV DL,79
MOV BH,7
INT 10H
POP DX
POP CX
POP BX
POP AX
RET
CLEAR ENDP
CAR PROC NEAR ;显示
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
MOV AH,0FH ;读取当前显示方式
INT 10H
SUB CH,CH
MOV CL,[SI]
INC SI
NEXT:ADD DH,[SI+2]
ADD DL,[SI+3]
MOV AH,2 ;设置光标位置
INT 10H
MOV AL,[SI]
MOV BL,[SI+1]
PUSH CX
MOV CX,1
MOV AH,9 ;写字符属性
INT 10H
POP CX
ADD SI,4
LOOP NEXT ;下一个字符
POP SI
POP DX
POP CX
POP BX
POP AX
RET
CAR ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -