📄 cmdbuild.ls1
字号:
A51 MACRO ASSEMBLER CMDBUILD 04/01/2006 14:08:05 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN cmdbuild.OBJ
ASSEMBLER INVOKED BY: D:\KeilC51\C51\BIN\A51.EXE cmdbuild.src PR(.\cmdbuild.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\cmdbuild.SRC generated from: cmdbuild.c
2 ; COMPILER INVOKED BY:
3 ; D:\KeilC51\C51\BIN\C51.EXE cmdbuild.c ROM(COMPACT) BROWSE DEFINE(evalboard) DEBUG
OBJECTEXTEND LISTINCLUDE SYMBOLS SRC(.\cmdbuild.SRC)
4
5
6 NAME CMDBUILD
7
8 ?PR?cmdb_init?CMDBUILD SEGMENT CODE INBLOCK
9 ?PR?cmdb_prompt?CMDBUILD SEGMENT CODE INBLOCK
10 ?PR?cmdb_scan?CMDBUILD SEGMENT CODE INBLOCK
11 ?DT?cmdb_scan?CMDBUILD SEGMENT DATA OVERLAYABLE
12 ?CO?CMDBUILD SEGMENT CODE
13 ?XD?CMDBUILD SEGMENT XDATA
14 EXTRN CODE (com_getchar)
15 EXTRN CODE (_com_puts)
16 EXTRN CODE (_isprint)
17 EXTRN CODE (_com_putchar)
18 PUBLIC cmdbuf
19 PUBLIC cmdndx
20 PUBLIC cmdb_scan
21 PUBLIC cmdb_prompt
22 PUBLIC cmdb_init
23
---- 24 RSEG ?DT?cmdb_scan?CMDBUILD
0000 25 ?cmdb_scan?BYTE:
0000 26 c?240: DS 2
27
---- 28 RSEG ?XD?CMDBUILD
0000 29 cmdndx: DS 1
0001 30 cmdbuf: DS 41
31
---- 32 RSEG ?CO?CMDBUILD
0000 33 ?SC_0:
0000 434F4D4D 34 DB 'C' ,'O' ,'M' ,'M' ,'A' ,'N' ,'D' ,':' ,' ' ,000H
0004 414E443A
0008 2000
35
000A 36 ?SC_10:
000A 0D0A00 37 DB 00DH,00AH,000H
38
000D 39 ?SC_13:
000D 08200800 40 DB 008H,' ' ,008H,000H
41
42 ; #include <stdlib.h>
43 ; #include <ctype.h>
44 ; #include "tdp.h"
45 ;
46 ; xdata char cmdbuf [1 + MAX_CMD_LEN];
47 ; xdata unsigned char cmdndx;
48 ;
49 ; /* 初始化 */
50 ; void cmdb_init (void) {
51
---- 52 RSEG ?PR?cmdb_init?CMDBUILD
0000 53 cmdb_init:
54 ; SOURCE LINE # 9
55 ; cmdndx = 0;
A51 MACRO ASSEMBLER CMDBUILD 04/01/2006 14:08:05 PAGE 2
56 ; SOURCE LINE # 10
0000 E4 57 CLR A
0001 900000 F 58 MOV DPTR,#cmdndx
0004 F0 59 MOVX @DPTR,A
60 ; cmdbuf [0] = '\0';
61 ; SOURCE LINE # 11
0005 A3 62 INC DPTR
0006 F0 63 MOVX @DPTR,A
64 ; }
65 ; SOURCE LINE # 12
0007 22 66 RET
67 ; END OF cmdb_init
68
69 ;
70 ; /* 命令提示"COMMAND" */
71 ; void cmdb_prompt (void) {
72
---- 73 RSEG ?PR?cmdb_prompt?CMDBUILD
0000 74 cmdb_prompt:
75 USING 0
76 ; SOURCE LINE # 15
77 ; com_puts ("COMMAND: ");
78 ; SOURCE LINE # 16
0000 7BFF 79 MOV R3,#0FFH
0002 7A00 F 80 MOV R2,#HIGH (?SC_0)
0004 7900 F 81 MOV R1,#LOW (?SC_0)
0006 120000 F 82 LCALL _com_puts
83 ; com_puts (cmdbuf);
84 ; SOURCE LINE # 17
0009 7B01 85 MOV R3,#01H
000B 7A00 F 86 MOV R2,#HIGH (cmdbuf)
000D 7900 F 87 MOV R1,#LOW (cmdbuf)
000F 020000 F 88 LJMP _com_puts
89 ; END OF cmdb_prompt
90
91 ; }
92 ;
93 ; /* 输入命令扫描 */
94 ; const char *cmdb_scan (void) {
95
---- 96 RSEG ?PR?cmdb_scan?CMDBUILD
0000 97 cmdb_scan:
98 USING 0
99 ; SOURCE LINE # 21
0000 100 ?C0003:
101 ; int c;
102 ; while (1) {
103 ; SOURCE LINE # 23
104 ; if ((c = com_getchar ()) == -1)
105 ; SOURCE LINE # 24
0000 120000 F 106 LCALL com_getchar
0003 8E00 F 107 MOV c?240,R6
0005 8F00 F 108 MOV c?240+01H,R7
0007 EF 109 MOV A,R7
0008 F4 110 CPL A
0009 7002 111 JNZ ?C0012
000B EE 112 MOV A,R6
000C F4 113 CPL A
000D 114 ?C0012:
000D 6078 115 JZ ?C0004
116 ; break;
117 ; SOURCE LINE # 25
000F 118 ?C0005:
119 ; if (c == '\r') {
120 ; SOURCE LINE # 26
000F E500 F 121 MOV A,c?240+01H
A51 MACRO ASSEMBLER CMDBUILD 04/01/2006 14:08:05 PAGE 3
0011 640D 122 XRL A,#0DH
0013 4500 F 123 ORL A,c?240
0015 7010 124 JNZ ?C0006
125 ; com_puts ("\r\n");
126 ; SOURCE LINE # 27
0017 7BFF 127 MOV R3,#0FFH
0019 7A00 F 128 MOV R2,#HIGH (?SC_10)
001B 7900 F 129 MOV R1,#LOW (?SC_10)
001D 120000 F 130 LCALL _com_puts
131 ; return (cmdbuf);
132 ; SOURCE LINE # 28
0020 7B01 133 MOV R3,#01H
0022 7A00 F 134 MOV R2,#HIGH (cmdbuf)
0024 7900 F 135 MOV R1,#LOW (cmdbuf)
0026 22 136 RET
137 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -