📄 atrap.lst
字号:
A51 MACRO ASSEMBLER ATRAP 09/05/2005 22:54:36 PAGE 1
MACRO ASSEMBLER A51 V6.00f
OBJECT MODULE PLACED IN C:\WAVE6000\SAMPLES\ATRAP.OBJ
ASSEMBLER INVOKED BY: C:\C516uv1\Bin\A51.EXE C:\WAVE6000\SAMPLES\ATRAP.ASM DB SB
LOC OBJ LINE SOURCE
1
2 public Refresh
3 public ClrScr
4 public SetColor
5 public SetBackGround
6 public GotoXY
7 public GetXY
8 public WriteChar
9 public WriteStr
10
11 public KeyPressed
12 public ReadKey
13
14 public PutPixel
15 public LineH
16
17 bits segment bit
18 bytes segment data
19 proc segment code
20
21 public ?SetColor?BYTE
22 public ?SetBackGround?BYTE
23 public ?GotoXY?BYTE
24 public ?WriteChar?BYTE
25 public ?WriteStr?BYTE
26
27 public ?PutPixel?BYTE
28 public ?LineH?BYTE
29
30 public ?PutPixel?BIT
31 public ?LineH?BIT
32
---- 33 rseg bits
34
0000 35 ?PutPixel?BIT:
0000 36 ?LineH?BIT:
0000 37 dbit 1
38
---- 39 rseg bytes
40
0000 41 ?SetColor?BYTE:
0000 42 ?SetBackGround?BYTE:
0000 43 ?GotoXY?BYTE:
0000 44 ?WriteChar?BYTE:
0000 45 ?WriteStr?BYTE:
0000 46 ?PutPixel?BYTE:
0000 47 ?LineH?BYTE:
0000 48 ds 8
49
---- 50 rseg proc
51
0000 52 Refresh:
0000 00 53 nop ; refresh screen
0001 22 54 ret
55
0002 56 ClrScr:
0002 00 57 nop ; clear screen
0003 22 58 ret
A51 MACRO ASSEMBLER ATRAP 09/05/2005 22:54:36 PAGE 2
59
0004 60 SetColor:
0004 E500 F 61 mov a, ?SetColor?BYTE
0006 00 62 nop ; set display color
0007 22 63 ret
64
0008 65 SetBackGround:
0008 E500 F 66 mov a, ?SetBackGround?BYTE
000A 00 67 nop ; set background color
000B 22 68 ret
69
000C 70 GotoXY:
000C E500 F 71 mov a, ?GotoXY?BYTE
000E 8500F0 F 72 mov b, ?GotoXY?BYTE+1
0011 00 73 nop ; goto (X, Y)
0012 22 74 ret
75
0013 76 GetXY:
0013 00 77 nop ; get (X, Y)
0014 FE 78 mov r6, a
0015 AFF0 79 mov r7, b
0017 22 80 ret
81
0018 82 WriteChar:
0018 E500 F 83 mov a, ?WriteChar?BYTE
001A 00 84 nop ; write a character on screen
001B 22 85 ret
86
001C 87 WriteStr:
001C 850083 F 88 mov dph, ?WriteStr?BYTE
001F 850082 F 89 mov dpl, ?WriteStr?BYTE+1
0022 00 90 nop ; write a string on screen
0023 22 91 ret
92
0024 93 KeyPressed:
0024 00 94 nop ; check is a key pressed
0025 C3 95 clr c
0026 6001 96 jz Goon1
0028 D3 97 setb C
0029 98 Goon1:
0029 22 99 ret
100
002A 101 ReadKey:
002A 00 102 nop ; read a key
002B 22 103 ret
104
002C 105 PutPixel:
002C A800 F 106 mov r0, ?PutPixel?BYTE
002E A900 F 107 mov r1, ?PutPixel?BYTE+1
0030 AA00 F 108 mov r2, ?PutPixel?BYTE+2
0032 AB00 F 109 mov r3, ?PutPixel?BYTE+3
110
0034 E4 111 clr a
0035 300002 F 112 jnb ?PutPixel?BIT, Goon2
0038 74FF 113 mov a, #0ffh
003A 114 Goon2:
003A 00 115 nop ; draw a pixel on screen
003B 22 116 ret
117
003C 118 LineH:
003C A800 F 119 mov r0, ?LineH?BYTE
003E A900 F 120 mov r1, ?LineH?BYTE+1
0040 AA00 F 121 mov r2, ?LineH?BYTE+2
0042 AB00 F 122 mov r3, ?LineH?BYTE+3
0044 AC00 F 123 mov r4, ?LineH?BYTE+4
0046 AD00 F 124 mov r5, ?LineH?BYTE+5
A51 MACRO ASSEMBLER ATRAP 09/05/2005 22:54:36 PAGE 3
125
0048 E4 126 clr a
0049 300002 F 127 jnb ?LineH?BIT, Goon3
004C 74FF 128 mov a, #0ffh
004E 129 Goon3:
004E 00 130 nop ; draw a line
004F 22 131 ret
132
133 end
A51 MACRO ASSEMBLER ATRAP 09/05/2005 22:54:36 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?GOTOXY?BYTE. . . . D ADDR 0000H R SEG=BYTES
?LINEH?BIT. . . . . B ADDR 0000H.0 R SEG=BITS
?LINEH?BYTE . . . . D ADDR 0000H R SEG=BYTES
?PUTPIXEL?BIT . . . B ADDR 0000H.0 R SEG=BITS
?PUTPIXEL?BYTE. . . D ADDR 0000H R SEG=BYTES
?SETBACKGROUND?BYTE D ADDR 0000H R SEG=BYTES
?SETCOLOR?BYTE. . . D ADDR 0000H R SEG=BYTES
?WRITECHAR?BYTE . . D ADDR 0000H R SEG=BYTES
?WRITESTR?BYTE. . . D ADDR 0000H R SEG=BYTES
B . . . . . . . . . D ADDR 00F0H A
BITS. . . . . . . . B SEG 0001H REL=UNIT
BYTES . . . . . . . D SEG 0008H REL=UNIT
CLRSCR. . . . . . . C ADDR 0002H R SEG=PROC
DPH . . . . . . . . D ADDR 0083H A
DPL . . . . . . . . D ADDR 0082H A
GETXY . . . . . . . C ADDR 0013H R SEG=PROC
GOON1 . . . . . . . C ADDR 0029H R SEG=PROC
GOON2 . . . . . . . C ADDR 003AH R SEG=PROC
GOON3 . . . . . . . C ADDR 004EH R SEG=PROC
GOTOXY. . . . . . . C ADDR 000CH R SEG=PROC
KEYPRESSED. . . . . C ADDR 0024H R SEG=PROC
LINEH . . . . . . . C ADDR 003CH R SEG=PROC
PROC. . . . . . . . C SEG 0050H REL=UNIT
PUTPIXEL. . . . . . C ADDR 002CH R SEG=PROC
READKEY . . . . . . C ADDR 002AH R SEG=PROC
REFRESH . . . . . . C ADDR 0000H R SEG=PROC
SETBACKGROUND . . . C ADDR 0008H R SEG=PROC
SETCOLOR. . . . . . C ADDR 0004H R SEG=PROC
WRITECHAR . . . . . C ADDR 0018H R SEG=PROC
WRITESTR. . . . . . C ADDR 001CH R SEG=PROC
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -