📄 clock.asm
字号:
DIan ENDP
yuanxin PROC
MOV AL,color_second
ADD AL,1
MOV BH,PAGE1
MOV DX,y0
MOV CX,x0
MOV AH,0ch
INT 10h
DEC DX
MOV AH,0ch
INT 10h
DEC CX
MOV AH,0ch
INT 10h
INC DX
MOV AH,0ch
INT 10h
INC DX
MOV AH,0ch
INT 10h
INC CX
MOV AH,0ch
INT 10h
INC CX
MOV AH,0ch
INT 10h
SUB DX,1
MOV AH,0ch
INT 10h
DEC DX
MOV AH,0ch
INT 10h
RET
yuanxin ENDP
readerdian PROC
MOV BH,page1
MOV DX,y
MOV CX,x ;列号
MOV AH,0dh
INT 10h
RET
readerdian ENDP
b1002 PROC NEAR ;入口DX-光标定位
MOV BH,0
MOV AH,02h
INT 10h
RET
b1002 ENDP
CLear PROC
MOV DX,0410h
CALL b1002
MOV CX,6000
MOV BH,PAGE1
MOV AL,' '
MOV AH,0ah
INT 10h
RET
CLear ENDP
; 12根******************************
skin2 PROC
PUSHa
MOV AL,color6
MOV color,AL
MOV CX,12
MOV AX,0
skin2_kk1: PUSH CX
PUSH AX
MOV BX,r0
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x1,AX
MOV AX,y
MOV y1,AX
POP AX
PUSH AX
MOV BX,r0
ADD BX,10
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x2,AX
MOV AX,y
MOV y2,AX
CALL linex
CALL liney
POP AX
ADD AX,30
POP CX
LOOP skin2_kk1
MOV CX,4
MOV AX,0
skin2_kk2: PUSH CX
PUSH AX
MOV BX,r0
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x1,AX
MOV AX,y
MOV y1,AX
POP AX
PUSH AX
MOV BX,r0
ADD BX,20
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x2,AX
MOV AX,y
MOV y2,AX
CALL linex
CALL liney
POP AX
ADD AX,90
POP CX
LOOP skin2_kk2
POPa
RET
skin2 ENDP
;60根**********************************88
skin3 PROC
PUSHa
MOV AL,color5
MOV color,AL
MOV CX,60
MOV AX,0
skin2_kk3: PUSH CX
PUSH AX
MOV BX,r0
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x1,AX
MOV AX,y
MOV y1,AX
POP AX
PUSH AX
MOV BX,r0
ADD BX,3
MOV CX,y0
MOV DX,x0
CALL enovate
MOV AX,x
MOV x2,AX
MOV AX,y
MOV y2,AX
CALL linex
CALL liney
POP AX
ADD AX,6
POP CX
LOOP skin2_kk3
POPa
RET
skin3 ENDP
;数字加圆**************************************88
skin PROC NEAR
MOV AL,color4
MOV color,AL
MOV BX,r0
CALL yuan
MOV BX,r0
MOV DH,7
MOV DL,39
CALL b1002
MOV DL,'1'
MOV AH,2
INT 21h
MOV DH,7
MOV DL,40
CALL b1002
MOV DL,'2'
MOV AH,2
INT 21h
MOV DH,8
MOV DL,47
CALL b1002
MOV DL,'1'
MOV AH,2
INT 21h
MOV DH,11
MOV DL,53
CALL b1002
MOV DL,'2'
MOV AH,2
INT 21h
MOV DH,19
MOV DL,53
CALL b1002
MOV DL,'4'
MOV AH,2
INT 21h
MOV DH,22
MOV DL,47
CALL b1002
MOV DL,'5'
MOV AH,2
INT 21h
MOV DH,22
MOV DL,32
CALL b1002
MOV DL,'7'
MOV AH,2
INT 21h
MOV DH,19
MOV DL,26
CALL b1002
MOV DL,'8'
MOV AH,2
INT 21h
MOV DH,11
MOV DL,25
CALL b1002
MOV DL,'1'
MOV AH,2
INT 21h
MOV DH,11
MOV DL,26
CALL b1002
MOV DL,'0'
MOV AH,2
INT 21h
MOV DH,8
MOV DL,30
CALL b1002
MOV DL,'1'
MOV AH,2
INT 21h
MOV DH,8
MOV DL,31
CALL b1002
MOV DL,'1'
MOV AH,2
INT 21h
MOV DH,15
MOV DL,55
CALL b1002
MOV DL,'3'
MOV AH,2
INT 21h
MOV DH,23
MOV DL,40
CALL b1002
MOV DL,'6'
MOV AH,2
INT 21h
MOV DH,15
MOV DL,24
CALL b1002
MOV DL,'9'
MOV AH,2
INT 21h
RET
skin ENDP
msg PROC NEAR ;in bp为输出字符串地址
PUSH ES
PUSH DS
POP ES
MOV CX,40h
MOV AL,0
MOV BX,2
MOV AH,13h
INT 10h
POP ES
RET
msg ENDP
;*****************in dl out al
bcd2 PROC NEAR
MOV AH,0
MOV AL,DL
SHR AL,4
AND AL,0fh
MOV CL,10
MUL CL
MOV CL,AL
MOV AL,DL
AND AL,0fh
ADD AL,CL;;;;; bcd转16进制
RET
bcd2 ENDP
;r0=bx 圆心cx 行 dx列********************
yuan PROC
PUSHa
MOV CX,360
MOV AX,0
yuan_kk1: PUSH CX
PUSH AX
MOV CX,y0
MOV DX,x0
CALL enovate
CALL dian
POP AX
ADD AX,1
POP CX
LOOP yuan_kk1
POPa
RET
yuan ENDP
;*****************in ax度数 bx=半径r长度,cx 列 dx行 圆心 out x,y************
enovate PROC NEAR
PUSHa
PUSH DX
PUSH AX
PUSH CX
CALL SIn
MOV DX,0
MOV CX,BX
DIV CX
POP CX
CMP SI,1
JE ian
ADD AX,CX
JMP enovate_kk1
ian: SUB CX,AX
MOV AX,CX
enovate_kk1: MOV y,AX
POP AX
CALL cos
MOV DX,0
MOV CX,BX
DIV CX
POP DX
CMP SI,1
JE ian2
ADD AX,DX
JMP enovate_kk2
ian2: MOV CX,DX
SUB CX,AX
MOV AX,CX
enovate_kk2: MOV x,AX
POPa
RET
enovate ENDP
MAIN ENDP
;------------------------------------------------------
CODE_SEG ENDS
;******************************************************
END START ;程序结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -