📄 mb9002.lst
字号:
506 3 else //非ASCII码
507 3 {
508 4
509 4 actual_adr = Dfontadr(*(int *)s ) ;
510 4 Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
511 4 str_col++;
512 4 if(str_col>MAX_DISP_COL)
513 4 {
514 5 str_col=0;
515 5 str_row++;
516 5 if(str_row>MAX_DISP_ROW)
517 5 {
518 6 str_row=0;
519 6 str_col=0;
520 6 full_screen_F = 1;
521 6 }
522 5 }
523 4 ++((int *)s);
524 4
525 4 }
526 3 }
527 2 else
528 2 {
529 3
530 3 actual_adr =(unsigned int)*s; //disp NULL
531 3 Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
532 3 ++s;
533 3 }
534 2
535 2
536 2
537 2 }
538 1 else
539 1 {
540 2 /* row++;
541 2 col=2;
542 2 if(row>MAX_DISP_ROW)
543 2 {
544 2 row = 0 ;
545 2 col = 2;
546 2 }*/
547 2 str_disp_end_F = 1;
548 2 s=(unsigned char*)0x00;
549 2
550 2 }
551 1 return(s);
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 10
552 1 }
553
554
555 /*******************************************************/
556 /*******************************************************/
557
558 int Isascii2( int c )
559 {
560 1
561 1 // if(((c >= 0) && (c <= 0x7f)) || ((c >= 0xa0) && (c <= 0xd6)))
562 1
563 1 if((c >= 0) && (c <= 0x7f))
564 1 {
565 2
566 2 return(1);
567 2 }
568 1 return(0);
569 1 }
570
571 /******************************************************/
572 /******************************************************/
573
574 unsigned int Dfontadr( unsigned int font_code )
575 {
576 1
577 1
578 1 TCODE dt ;
579 1 unsigned int actual_adr ;
580 1
581 1 dt.wcode = font_code ;
582 1
583 1 if((dt.scode.high>=0xa1)&&(dt.scode.high<=0xaa))
584 1 {
585 2
586 2 actual_adr = (dt.scode.high-0xa1)*94+dt.scode.low-0xa1;
587 2 }
588 1 else if((dt.scode.high>=0xb0)&&(dt.scode.high<=0xf7))
589 1 {
590 2 actual_adr = (dt.scode.high-0xa1-6)*94+dt.scode.low - 0xa1;
591 2 }
592 1 else
593 1 actual_adr = font_code;
594 1 return(actual_adr);
595 1 }
596
597 /******************************************************/
598 /******************************************************/
599
600
601 void Set_str_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
602 {
603 1 str_row = x;
604 1 str_col = y;
605 1 font_size = size ;
606 1 back_cor = bc;
607 1 char_cor = cc;
608 1 at_label = at;
609 1 }
610 /******************************************************/
611 /******************************************************/
612 void Set_content_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
613 {
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 11
614 1 content_row = x;
615 1 content_col = y;
616 1 font_size = size ;
617 1 back_cor = bc;
618 1 char_cor = cc;
619 1 at_label = at;
620 1 }
621 /******************************************************/
622 /******************************************************/
623 void Disp_str(unsigned char *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
624 {
625 1 str_disp_end_F = 0;
626 1 full_screen_F = 0;
627 1 Set_str_attr(x,y,size,bc,cc,at);
628 1 while((str_disp_end_F != 1)&&(full_screen_F != 1))
629 1 pointer = Disp_next_font(pointer) ;
630 1 }
631
632 /*****************************************************/
633 /*****************************************************/
634 void Disp_content(unsigned char *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
635 {
636 1 content_disp_end_F = 0;
637 1 full_screen_F = 0;
638 1 Set_content_attr(x,y,size,bc,cc,at);
639 1 while((content_disp_end_F != 1)&&(full_screen_F != 1))
640 1 pointer = Disp_next_content(pointer) ;
641 1 }
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 12
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Turn_disp_off (BEGIN)
; SOURCE LINE # 84
; SOURCE LINE # 85
; SOURCE LINE # 86
0000 7FA2 MOV R7,#0A2H
0002 120000 R LCALL _Send_byte
; SOURCE LINE # 87
0005 7F2A MOV R7,#02AH
0007 020000 R LJMP _Send_byte
; FUNCTION Turn_disp_off (END)
; FUNCTION Turn_disp_on (BEGIN)
; SOURCE LINE # 93
; SOURCE LINE # 94
; SOURCE LINE # 95
0000 7FA2 MOV R7,#0A2H
0002 120000 R LCALL _Send_byte
; SOURCE LINE # 96
0005 7F2B MOV R7,#02BH
0007 020000 R LJMP _Send_byte
; FUNCTION Turn_disp_on (END)
; FUNCTION Vram_clear (BEGIN)
; SOURCE LINE # 101
; SOURCE LINE # 102
; SOURCE LINE # 104
0000 E4 CLR A
0001 F500 R MOV i,A
0003 ?C0003:
; SOURCE LINE # 105
; SOURCE LINE # 106
0003 E4 CLR A
0004 F500 R MOV j,A
0006 ?C0006:
; SOURCE LINE # 107
; SOURCE LINE # 108
0006 750003 R MOV ?_Disp_num?BYTE+04H,#03H
0009 E4 CLR A
000A F500 R MOV ?_Disp_num?BYTE+05H,A
000C F500 R MOV ?_Disp_num?BYTE+06H,A
000E F500 R MOV ?_Disp_num?BYTE+07H,A
0010 FB MOV R3,A
0011 FA MOV R2,A
0012 AD00 R MOV R5,j
0014 AF00 R MOV R7,i
0016 120000 R LCALL _Disp_num
; SOURCE LINE # 110
0019 0500 R INC j
001B E500 R MOV A,j
001D C3 CLR C
001E 9418 SUBB A,#018H
0020 40E4 JC ?C0006
; SOURCE LINE # 111
0022 ?C0005:
0022 0500 R INC i
0024 E500 R MOV A,i
0026 C3 CLR C
0027 940D SUBB A,#0DH
0029 40D8 JC ?C0003
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 13
; SOURCE LINE # 112
002B ?C0009:
002B 22 RET
; FUNCTION Vram_clear (END)
; FUNCTION L?0075 (BEGIN)
0000 L?0076:
0000 120000 R LCALL _Send_byte
0003 E4 CLR A
0004 FF MOV R7,A
; FUNCTION _Send_byte (BEGIN)
; SOURCE LINE # 120
;---- Variable 'I_data' assigned to Register 'R7' ----
; SOURCE LINE # 121
; SOURCE LINE # 123
0005 C294 CLR IC_CS
; SOURCE LINE # 124
;---- Variable 'i' assigned to Register 'R6' ----
0007 E4 CLR A
0008 FE MOV R6,A
0009 ?C0010:
; SOURCE LINE # 125
; SOURCE LINE # 126
0009 C293 CLR IC_SLK
; SOURCE LINE # 127
000B EF MOV A,R7
000C 30E004 JNB ACC.0,?C0013
; SOURCE LINE # 128
000F D292 SETB IC_SIN
0011 8002 SJMP ?C0014
0013 ?C0013:
; SOURCE LINE # 130
0013 C292 CLR IC_SIN
0015 ?C0014:
; SOURCE LINE # 132
0015 EF MOV A,R7
0016 C3 CLR C
0017 13 RRC A
0018 FF MOV R7,A
; SOURCE LINE # 133
0019 D293 SETB IC_SLK
; SOURCE LINE # 134
001B 0E INC R6
001C BE08EA CJNE R6,#08H,?C0010
001F ?C0011:
; SOURCE LINE # 136
001F D294 SETB IC_CS
; SOURCE LINE # 137
0021 22 RET
; FUNCTION _Send_byte (END)
; FUNCTION _Disp_color (BEGIN)
; SOURCE LINE # 160
;---- Variable 'row' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
; SOURCE LINE # 161
; SOURCE LINE # 166
0002 EE MOV A,R6
0003 13 RRC A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -