📄 pyzc2.lst
字号:
0264 61F7FF00 R and tmpreg,#0FFF7H
0268 2000 br @003F
026A @003F:
026A B00000 E ldb int_mask,tmpreg
3 1 _ClrSFR_bit (int_mask, SW_TIMER_INT);
026D 2000 br @004
026F @004:
026F AC0000 E ldbze tmpreg,int_mask
0272 61DFFF00 R and tmpreg,#0FFDFH
0276 2000 br @0041
0278 @0041:
0278 B00000 E ldb int_mask,tmpreg
3 1 }
027B F0 ret
; Function Statistics for: init_hso1_5
; Code Size : 91 Parameter Count:
; Stack Size: Parameter Size :
; OReg Size : Stack Depth :
3
3 void main(void)
31 {
027C main:
027C C800 R push ?OVRBASE
311 1 unsigned char i;
312 1 init_serial();
027E 2F06 call init_serial
313 1 init_timer1();
0280 2F5A call init_timer1
314 1 init_pwm0();
0282 2F78 call init_pwm0
315 1 init_hso1_5();
0284 2F9B call init_hso1_5
316 1 enable();
0286 EF0000 E call enable
317 1 /* The following line will loop until the letter 'Q' is
318 1 received. */
C196 Compiler pyzc2 13-Dec-106 22:07:20 Page 13
Assembly Listing of Object Code
319 1 putchar('H');
0289 C94800 push #48H
028C 2D9E call putchar
028E 65020018 add SP,#2
32 1 putchar('e');
0292 C96500 push #65H
0295 2D95 call putchar
0297 65020018 add SP,#2
321 1 putchar('l');
029B C96C00 push #6CH
029E 2D8C call putchar
02A0 65020018 add SP,#2
322 1 putchar('l');
02A4 C96C00 push #6CH
02A7 2D83 call putchar
02A9 65020018 add SP,#2
323 1 putchar('o');
02AD C96F00 push #6FH
02B0 2D7A call putchar
02B2 65020018 add SP,#2
02B6 2066 br @0044
02B8 @0043:
324 1 //while(getchar() != 'Q')
325 1 while(1)
326 1 {
327 2 if(triggle_out==1)
02B8 990101 R cmpb triggle_out,#1
02BB D730 bne @0046
328 2 {
329 3 triggle_out=0;
02BD 1101 R clrb triggle_out
33 3 wsr=0;
02BF 1100 E clrb wsr
331 3 wsr = 0x0;
02C1 1100 E clrb wsr
332 3 mess[5]= hsi_status;
02C3 C701050000 E stb hsi_status,mess+5
333 3 mess[6]=ioport0;
02C8 C701060000 E stb ioport0,mess+6
334 3 mess[7]=ioport2;
02CD C701070000 E stb ioport2,mess+7
335 3 for(i=0;i<10;i++) putchar(mess[i]);
02D2 1100 R clrb i
02D4 2012 br @0049
02D6 @0047:
02D6 AC001C R ldbze Tmp0,i
02D9 AF1D00001C R ldbze Tmp0,mess[Tmp0]
02DE C81C push Tmp0
02E0 2D4A call putchar
02E2 65020018 add SP,#2
02E6 1700 R incb i
02E8 @0049:
02E8 990A00 R cmpb i,#0AH
02EB D3E9 bnc @0047
02ED @0046:
336 3 }
C196 Compiler pyzc2 13-Dec-106 22:07:20 Page 14
Assembly Listing of Object Code
337 2 if(triggle_in==1)
02ED 990102 R cmpb triggle_in,#1
02F0 D72C bne @004B
338 2 {
339 3 triggle_in=0;
02F2 1102 R clrb triggle_in
34 3 pwm0_control=pwm0_byte; //receive_buff[(end_rec_buff+RECEIVE_BUF_SIZE-4)%RECEIVE_BUF_SIZE];
02F4 B00700 E ldb pwm_control,pwm0_byte
341 3 ioport1=ioport1_byte; //receive_buff[(end_rec_buff+RECEIVE_BUF_SIZE-3)%RECEIVE_BUF_SIZE];
02F7 B00800 E ldb ioport1,ioport1_byte
342 3 for(i=0;i<5;i++)
02FA 1100 R clrb i
02FC 201B br @004E
02FE @004C:
343 3 {
344 4 hso_command=((hso_byte & (1<<i))>>i)*0x20+i;
02FE AD011C ldbze Tmp0,#1
0301 09001C R shl Tmp0,i
0304 AC091E R ldbze Tmp2,hso_byte
0307 601E1C and Tmp0,Tmp2
030A 0A001C R shra Tmp0,i
030D 19051C shlb Tmp0,#5
0310 541C0000 E addb hso_command,i,Tmp0
345 4 hso_time=20;
0314 AD1400 E ldbze hso_time,#14H
0317 1700 R incb i
0319 @004E:
0319 990500 R cmpb i,#5
031C D3E0 bnc @004C
031E @004B:
346 4 }
347 3 }
348 2 }
031E @0044:
031E 2798 br @0043
349 1 /* Example of sending out buffered data. */
35 1 //while(1);
351 1 }
0320 CC00 R pop ?OVRBASE
0322 F0 ret
; Function Statistics for: main
; Code Size : 167 Parameter Count:
; Stack Size: Parameter Size :
; OReg Size : 1 Stack Depth : 8
end
352
C196 Compiler pyzc2 13-Dec-106 22:07:20 Page 15
Symbol Table
Name Size Class Address Attributes
baud_rate 1 Extern register volatile unsigned char
begin_rec_buff 1 Static 6 register signed char
begin_trans_buff
1 Static 3 register signed char
c 2 Auto 4 int in function(putchar)
c 1 Auto overlayable register unsigned char in function(receive)
ccr 2 Public 8216 located const unsigned int
enable Extern VPL function returning void
end_rec_buff 1 Static 5 register signed char
end_trans_buff 1 Static 4 register signed char
getchar Public reentrant VPL function returning unsigned char
hsi_status 1 Extern register volatile unsigned char
hso_byte 1 Static 9 register unsigned char
hso_command 1 Extern register volatile unsigned char
hso_time 2 Extern register volatile unsigned short
i 1 Auto overlayable register unsigned char in function(main)
imask1 1 Extern register volatile unsigned char
init_hso1_5 Public reentrant VPL function returning void
init_pwm0 Public reentrant VPL function returning void
init_serial Public reentrant VPL function returning void
init_timer1 Public reentrant VPL function returning void
int_mask 1 Extern register volatile unsigned char
int_pending 1 Extern register volatile unsigned char
ioc1 1 Extern register volatile unsigned char
ioc2 1 Extern register volatile unsigned char
ioport0 1 Extern register volatile unsigned char
ioport1 1 Extern register volatile unsigned char
ioport1_byte 1 Static 8 register unsigned char
ioport2 1 Extern register volatile unsigned char
main Public reentrant VPL function returning void
mess 1 Static initialized array[1] of unsigned char
putchar Public reentrant VPL function returning int
pwm0_byte 1 Static 7 register unsigned char
pwm_control 1 Extern register volatile unsigned char
receive Public reentrant VPL function returning void
receive_buff 2 Static 2 array[2] of unsigned char
sbuf 1 Extern register volatile unsigned char
serial_isr Public interrupt function returning void
sp_con 1 Extern register volatile unsigned char
sp_stat 1 Extern register volatile unsigned char
sp_status_image 1 Static 2 register unsigned char
timer1_count 1 Static initialized register unsigned char
tmpreg 2 Public register unsigned int
tovf_isr Public interrupt function returning void
trans_buff 2 Static array[2] of unsigned char
transmit Public reentrant VPL function returning void
triggle_in 1 Static 2 initialized register unsigned char
triggle_out 1 Static 1 initialized register unsigned char
wsr 1 Extern register volatile unsigned char
Module Information:
C196 Compiler pyzc2 13-Dec-106 22:07:20 Page 16
Symbol Table
Code Area Size = 0323H 803D
Constant Area Size = 0002H 2D
Data Area Size = 0032H 50D
Static Regs Area Size = 000DH 13D
Overlayable Regs Area Size = 0002H 2D
Initial Data-Size = 000DH 13D
Maximum Stack Size = 0012H 18D
C196 Compilation Complete. 0 Warnings, 0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -