guess1.asm
来自「这是HOLTEK HT 48系列单片机应用实例」· 汇编 代码 · 共 994 行 · 第 1/2 页
ASM
994 行
#pragma debug scope 1 1
#line 21 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_row_1 .SECTION PAGE 'CODE'
l_row_1:
MOV [06h],A
_row_1:
RET A,76
RET A,67
RET A,68
RET A,46
RET A,46
RET A,46
RET A,46
RET A,46
RET A,46
RET A,46
RET A,33
RET A,33
RET A,32
RET A,32
RET A,32
RET A,32
RET A,0
#line 22 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_row_2 .SECTION PAGE 'CODE'
l_row_2:
MOV [06h],A
_row_2:
RET A,84
RET A,101
RET A,115
RET A,116
RET A,32
RET A,79
RET A,75
RET A,32
RET A,33
RET A,33
RET A,32
RET A,32
RET A,32
RET A,32
RET A,32
RET A,32
RET A,0
#line 23 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_page1_1 .SECTION PAGE 'CODE'
l_page1_1:
MOV [06h],A
_page1_1:
RET A,87
RET A,101
RET A,108
RET A,99
RET A,111
RET A,109
RET A,101
RET A,32
RET A,84
RET A,104
RET A,101
RET A,32
RET A,71
RET A,97
RET A,109
RET A,101
RET A,0
#line 24 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_page2_1 .SECTION PAGE 'CODE'
l_page2_1:
MOV [06h],A
_page2_1:
RET A,75
RET A,101
RET A,121
RET A,105
RET A,110
RET A,32
RET A,52
RET A,32
RET A,78
RET A,117
RET A,109
RET A,98
RET A,101
RET A,114
RET A,32
RET A,32
RET A,0
#line 25 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_page3_1 .SECTION PARA 'CODE'
l_page3_1:
MOV [06h],A
_page3_1:
RET A,89
RET A,111
RET A,117
RET A,32
RET A,76
RET A,111
RET A,115
RET A,101
RET A,0
#line 26 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_page3_2 .SECTION PARA 'CODE'
l_page3_2:
MOV [06h],A
_page3_2:
RET A,65
RET A,110
RET A,115
RET A,119
RET A,101
RET A,114
RET A,58
RET A,0
#line 27 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_page4_1 .SECTION PARA 'CODE'
l_page4_1:
MOV [06h],A
_page4_1:
RET A,89
RET A,111
RET A,117
RET A,32
RET A,87
RET A,105
RET A,110
RET A,33
RET A,0
#line 28 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
_time .SECTION PARA 'CODE'
l_time:
MOV [06h],A
_time:
RET A,116
RET A,105
RET A,109
RET A,101
#line 35 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
__pcc EQU [017H]
__pc EQU [016H]
__pac EQU [013H]
__pa EQU [012H]
__INTC EQU [0bH]
__TMR0C EQU [0eH]
__TMR0 EQU [0dH]
_ACC EQU [05H]
@delay .SECTION 'CODE'
PUBLIC _delay
_delay PROC
#pragma debug scope 2 1 ; 36 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 36 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _i
CLR _i[1]
#line 36 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L5
L2:
L3:
#line 36 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
INC _i
SZ [0AH].2
INC _i[1]
L5:
#line 36 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,04eh
SUB A,_i[1]
SNZ [0ah].0
JMP L6
SNZ [0ah].2
JMP L2
MOV A,020h
SUB A,_i
SNZ [0ah].0
JMP L6
SNZ [0ah].2
JMP L2
L6:
L1:
RET
_delay ENDP
#line 39 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
@initial .SECTION 'CODE'
PUBLIC _initial
_initial PROC
#pragma debug scope 3 1 ; 40 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 40 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,01h
MOV write_instruction0,A
CALL _write_instruction
#line 41 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,06h
MOV write_instruction0,A
CALL _write_instruction
#line 42 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,0fh
MOV write_instruction0,A
CALL _write_instruction
#line 43 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,038h
MOV write_instruction0,A
CALL _write_instruction
#line 44 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _delay
L7:
RET
LOCAL b0_2 DB ?
_initial ENDP
#line 47 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
@write_LCDDATA .SECTION 'CODE'
PUBLIC _write_LCDDATA
_write_LCDDATA PROC
#pragma debug scope 4 1 ; 48 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 48 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _busy
#line 49 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,01h
MOV __pc,A
#line 50 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_ACCregister
MOV __pa,A
#line 51 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SET [016H].2
#line 52 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR [016H].2
L8:
RET
LOCAL b0_3 DB ?
_write_LCDDATA ENDP
#line 55 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
@busy .SECTION 'CODE'
PUBLIC _busy
_busy PROC
#pragma debug scope 5 1 ; 56 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 56 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,080h
MOV __pac,A
#line 57 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,02h
MOV __pc,A
#line 58 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SET [016H].2
L10:
L11:
#line 59 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SZ [012H].7
JMP L10
#line 60 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pac
L9:
RET
_busy ENDP
#line 63 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
@write_instruction .SECTION 'CODE'
PUBLIC _write_instruction
_write_instruction PROC
#pragma debug scope 6 1
#line 62 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
PUBLIC write_instruction0
LOCAL write_instruction0 DB ? ; c
#pragma debug variable 6 write_instruction0 c
#pragma debug scope 6 1 ; 64 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 64 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _busy
#line 65 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pa
#line 66 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pc
#line 67 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,write_instruction0
MOV __pa,A
#line 68 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SET [016H].2
#line 69 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR [016H].2
L13:
RET
_write_instruction ENDP
#line 72 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 7 1 ; 73 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 73 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pac
#line 74 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pa
#line 75 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __pcc
#line 76 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _initial
#line 78 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,080h
MOV write_instruction0,A
CALL _write_instruction
#line 79 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _k
L15:
#pragma debug scope 8 7 ; 82 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 82 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,1
ADD A,_k
ADD A,OFFSET l_page1_1
CALL l_page1_1
MOV _l,A
#line 83 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SZ _l
JMP L103
JMP L17
L103:
#pragma debug scope 9 8 ; 85 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 85 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,1
ADD A,_k
ADD A,OFFSET l_page1_1
CALL l_page1_1
MOV _ACCregister,A
#line 86 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _write_LCDDATA
#line 87 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
INC _k
#pragma debug scope 10 8 ; 80 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 80 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 7 1 ; 80 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L15
L17:
L21:
#pragma debug scope 11 7 ; 96 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 96 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _check_key
MOV _number,A
L22:
#line 97 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 7 1 ; 97 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_number
XOR A,03ch
SNZ [0ah].2
JMP L21
#line 97 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L25
L24:
#pragma debug scope 12 7 ; 100 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 100 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CALL _check_key
MOV _number,A
L25:
#line 98 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 7 1 ; 98 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_number
XOR A,03ch
SZ [0ah].2
JMP L24
L27:
#pragma debug scope 13 7 ; 105 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 105 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _k
#line 106 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR __TMR0
#line 107 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,090h
MOV __TMR0C,A
#line 108 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,05h
MOV __INTC,A
L30:
#pragma debug scope 14 13 ; 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _j
#line 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L36
L33:
#pragma debug scope 15 14 ; 113 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 113 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_j
ADD A,OFFSET _ans
MOV b0_6,A
MOV A,0ah
MOV RH,A
MOV A,__TMR0
CALL DIVUI
MOV A,T3
MOV b1_6,A
MOV A,b0_6
MOV [01H],A
MOV A,b1_6
MOV [00H],A
L34:
#line 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 14 13 ; 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
INC _j
L36:
#line 111 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_j
SUB A,04h
SNZ [0ah].0
JMP L33
#line 115 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _i
CLR _i[1]
#line 115 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L40
L37:
#pragma debug scope 16 14 ; 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,01h
ADD A,_i
MOV b0_6,A
MOV A,00h
ADC A,_i[1]
MOV b0_6[1],A
MOV A,b0_6
MOV _j,A
#line 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L44
L41:
#pragma debug scope 17 16 ; 119 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 119 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_i
ADD A,OFFSET _ans
MOV b0_6,A
MOV A,b0_6
MOV [01H],A
MOV A,[00H]
MOV b0_6,A
MOV A,_j
ADD A,OFFSET _ans
MOV b1_6,A
MOV A,b1_6
MOV [01H],A
MOV A,[00H]
MOV b1_6,A
MOV A,b1_6
XOR A,b0_6
SNZ [0ah].2
JMP L45
#pragma debug scope 18 17 ; 120 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 120 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,01h
MOV _k,A
L45:
L42:
#line 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 16 14 ; 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
INC _j
L44:
#line 117 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,_j
SUB A,04h
SNZ [0ah].0
JMP L41
L38:
#line 115 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 14 13 ; 115 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
INC _i
SZ [0AH].2
INC _i[1]
L40:
#line 115 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,00h
SUB A,_i[1]
SNZ [0ah].0
JMP L104
SNZ [0ah].2
JMP L37
MOV A,03h
SUB A,_i
SNZ [0ah].0
JMP L104
SNZ [0ah].2
JMP L37
L104:
L31:
#line 123 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#pragma debug scope 13 7 ; 123 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
SZ _k
JMP L30
#line 124 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,080h
MOV __TMR0C,A
#line 125 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _time1
#line 125 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
JMP L50
L47:
#pragma debug scope 19 13 ; 127 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
#line 127 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,01h
MOV write_instruction0,A
CALL _write_instruction
#line 128 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
MOV A,080h
MOV write_instruction0,A
CALL _write_instruction
#line 129 "E:\SCHOOL\盡肈\HT48R50_絛ㄒ\GUESS1.C"
CLR _k
CLR _A
CLR _B
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?