⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex4_portb.lst

📁 基于摩托罗拉S12标准源程序 包括:SCIO,Timer
💻 LST
📖 第 1 页 / 共 3 页
字号:
  220:  	  while(loop==ENABLE)
  221:  	  { 
  222:  	    do
  223:  	    {
  224:  	      cdata=menurx_char0(PORTB_PAGE_DE);	//get input from user
  0060 c608         LDAB  #8
  0062 160000       JSR   menurx_char0
  0065 6b83         STAB  3,SP
  225:  
  226:  	      switch(cdata)
  0067 c171         CMPB  #113
  0069 223e         BHI   *+64 ;abs = 00a9
  006b c130         CMPB  #48
  006d 6b80         STAB  0,SP
  006f 2512         BCS   *+20 ;abs = 0083
  0071 c137         CMPB  #55
  0073 220e         BHI   *+16 ;abs = 0083
  0075 c030         SUBB  #48
  0077 87           CLRA  
  0078 160000       JSR   _CASE_DIRECT_BYTE
  007b 12           DC.B  18
  007c 15           DC.B  21
  007d 18           DC.B  24
  007e 1b           DC.B  27
  007f 1e           DC.B  30
  0080 21           DC.B  33
  0081 24           DC.B  36
  0082 27           DC.B  39
  0083 c151         CMPB  #81
  0085 2720         BEQ   *+34 ;abs = 00a7
  0087 c171         CMPB  #113
  0089 271c         BEQ   *+30 ;abs = 00a7
  008b 201c         BRA   *+30 ;abs = 00a9
  227:  	      {  
  228:  		      case	'0': ctemp=0x1;
  008d c601         LDAB  #1
  229:  				 	           break;
  008f 8f           SKIP2 
  230:  		      case	'1': ctemp=0x2;
  0090 c602         LDAB  #2
  231:  				          	 break;
  0092 8f           SKIP2 
  232:      		  case	'2': ctemp=0x4;
  0093 c604         LDAB  #4
  233:  					           break;
  0095 8f           SKIP2 
  234:  		      case	'3': ctemp=0x8;
  0096 c608         LDAB  #8
  235:  					           break;
  0098 8f           SKIP2 
  236:  		      case	'4': ctemp=0x10;
  0099 c610         LDAB  #16
  237:  					           break;
  009b 8f           SKIP2 
  238:    		    case	'5': ctemp=0x20;
  009c c620         LDAB  #32
  239:  	  				         break;
  009e 8f           SKIP2 
  240:  		      case	'6': ctemp=0x40;
  009f c640         LDAB  #64
  241:  			  		         break;
  00a1 8f           SKIP2 
  242:      		  case	'7': ctemp=0x80;
  00a2 c680         LDAB  #128
  00a4 6b81         STAB  1,SP
  243:  					           break;
  00a6 8f           SKIP2 
  244:  		      case  'q': 
  245:  		      case	'Q': loop=DISABLE; 
  00a7 6982         CLR   2,SP
  246:  					           break;
  247:    	    }	
  248:  	    }
  249:  	    while((cdata>'z') || (cdata<'0'));	//get input from user
  00a9 e683         LDAB  3,SP
  00ab c17a         CMPB  #122
  00ad 22b1         BHI   *-77 ;abs = 0060
  00af c130         CMPB  #48
  00b1 25ad         BCS   *-81 ;abs = 0060
  250:  	    if((cdata<='7')&&(cdata>='0'))
  00b3 c030         SUBB  #48
  00b5 c107         CMPB  #7
  00b7 2206         BHI   *+8 ;abs = 00bf
  251:  	      PORTB	^= ctemp;
  00b9 d601         LDAB  1
  00bb e881         EORB  1,SP
  00bd 5b01         STAB  1
  00bf e682         LDAB  2,SP
  00c1 04119c       DBEQ  B,*-97 ;abs = 0060
  252:  	  }		
  253:  }
  00c4 1b84         LEAS  4,SP
  00c6 3d           RTS   
  254:  
  255:  /**********************************************
  256:  * Display portb status subroutine
  257:  * output 	: DDRB, PORTB & hour, min and sec
  258:  ***********************************************/
  259:  void portb_info()
  260:  {

Function: portb_info
Source  : D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\sources\ex4_portb.c
Options : -DNON_BANK -Env"GENPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\cmd;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\prm;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\sources;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\LIB;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\SRC;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\INCLUDE" -Env"LIBPATH=C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\INCLUDE" -Env"OBJPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin" -Env"TEXTPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin" -Lasm=%n.lst -ObjN="D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\S12_Ex4_Portb_ICD_CW31_Data\Flash_Application\ObjectCode\ex4_portb.c.o" -Ol0

  261:  	hex_asc_sp(DDRB,3);	
  0000 d603         LDAB  3
  0002 37           PSHB  
  0003 c603         LDAB  #3
  0005 160000       JSR   hex_asc_sp
  0008 32           PULA  
  262:  	printf0("  \r");
  0009 cc0000       LDD   #"  \015"
  000c 160000       JSR   printf0
  263:  	hex_asc_sp(PORTB,3);	
  000f d601         LDAB  1
  0011 37           PSHB  
  0012 c603         LDAB  #3
  0014 160000       JSR   hex_asc_sp
  0017 32           PULA  
  264:  	printf0("     \r");
  0018 cc0000       LDD   #"     \015"
  001b 160000       JSR   printf0
  265:      hex_clk_dec(HourData);	
  001e f60000       LDAB  HourData
  0021 160000       JSR   hex_clk_dec
  266:  	printf0("  \r");
  0024 cc0000       LDD   #"  \015"
  0027 160000       JSR   printf0
  267:  	hex_clk_dec(MinData);
  002a f60000       LDAB  MinData
  002d 160000       JSR   hex_clk_dec
  268:  	printf0("  \r");
  0030 cc0000       LDD   #"  \015"
  0033 160000       JSR   printf0
  269:  	hex_clk_dec(SecData);
  0036 f60000       LDAB  SecData
  0039 160000       JSR   hex_clk_dec
  270:  	tx_char0(CR);
  003c c60d         LDAB  #13
  003e 060000       JMP   tx_char0
  271:  
  272:  }
  273:  
  274:  /**********************************************
  275:  * Display portb & LED information subroutine
  276:  ** output 	: PORTB bit and LED on/off
  277:  ***********************************************/
  278:  void portb_info_detail()
  279:  {

Function: portb_info_detail
Source  : D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\sources\ex4_portb.c
Options : -DNON_BANK -Env"GENPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\cmd;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\prm;D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\sources;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\LIB;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\SRC;C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\INCLUDE" -Env"LIBPATH=C:\Program Files\Metrowerks\CodeWarrior CW12_V3.1\lib\HC12c\INCLUDE" -Env"OBJPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin" -Env"TEXTPATH=D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\bin" -Lasm=%n.lst -ObjN="D:\Profiles\r63492.FSL\My Documents\技术资料\培训教材\HCS12\S12 Ex4 Portb ICD CW31\S12_Ex4_Portb_ICD_CW31_Data\Flash_Application\ObjectCode\ex4_portb.c.o" -Ol0

  280:  	int	i;
  281:  	
  282:  	for(i=0;i<8;i++)
  0000 c7           CLRB  
  0001 87           CLRA  
  0002 3b           PSHD  
  283:  	{
  284:  	  if (((PORTB>>i)&1))
  0003 0732         BSR   *+52 ;abs = 0037
  0005 2701         BEQ   *+3 ;abs = 0008
  285:  	    hex_asc_sp(1,2);	
  0007 42           INCA  
  286:  	  else
  287:  	    hex_asc_sp(0,2);	
  0008 36           PSHA  
  0009 c602         LDAB  #2
  000b 160000       JSR   hex_asc_sp
  000e 1b81         LEAS  1,SP
  0010 072f         BSR   *+49 ;abs = 0041
  0012 2def         BLT   *-15 ;abs = 0003
  288:  	}
  289:  	
  290:  	tx_char0(' ');
  0014 c620         LDAB  #32
  0016 160000       JSR   tx_char0
  291:  	
  292:  	for(i=0;i<8;i++)
  0019 c7           CLRB  
  001a 87           CLRA  
  001b 6c80         STD   0,SP
  293:  	{
  294:  	  if (((PORTB>>i)&1))
  001d 0718         BSR   *+26 ;abs = 0037
  001f 2705         BEQ   *+7 ;abs = 0026
  295:  	    printf0("0FF  \r");	
  0021 cc0000       LDD   #"0FF  \015"
  0024 2003         BRA   *+5 ;abs = 0029
  296:  	  else
  297:  	    printf0("ON   \r");	
  0026 cc0000       LDD   #"ON   \015"
  0029 160000       JSR   printf0
  002c 0713         BSR   *+21 ;abs = 0041
  002e 2ded         BLT   *-17 ;abs = 001d
  298:  	}
  299:  	tx_char0(CR);
  0030 c60d         LDAB  #13
  0032 160000       JSR   tx_char0
  300:  }
  0035 3a           PULD  
  0036 3d           RTS   
  0037 d601         LDAB  1
  0039 a683         LDAA  3,SP
  003b 160000       JSR   _BSHRU
  003e c401         ANDB  #1
  0040 3d           RTS   
  0041 ee82         LDX   2,SP
  0043 08           INX   
  0044 6e82         STX   2,SP
  0046 8e0008       CPX   #8
  0049 3d           RTS   
  301:  
  302:  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -