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

📄 ad10.lst

📁 1.熟悉硬件仿真工具KD30的使用。 2.修改样本程序 SAMP1a
💻 LST
字号:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 03:13:07 2005  PAGE 001

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

     1                                  ;****************************************************************************************
     2                                  ;*	SAMPLE PROGRAM	        : Subtracting 8-digit BCD  	                        *
     3                                  ;*      FILE NAME		: SAMPA.A30						*
     4                                  ;*	FUNCTION 		: Subtracting 8-digit BCD using registers              	*
     5                                  ;****************************************************************************************
     6                                  ;
     7                                  ;---------- INCLUDE OF SFR FILE ----------------
     8                                  ;
     9                                  	.list		off			; don't draw up a prpgram list
    10                                  	.list		on			; draw up a program list
    11                                  ;
    12                                  ;---------- DEFINE OF SYMBOLS ------------------
    13                                  ;
    14  00000400h                       VramTOP		.equ	000400H			; top address of internal RAM 
    15  00002BFFh                       VramEND		.equ	002BFFH			; end address of internal RAM
    16  00002C00h                       VIstack		.equ	002C00H			; stack pointer
    17  000F0000h                       VprogTOP	.equ	0F0000H			; top address of program area
    18  000FA000h                       Vintbase	.equ	0FA000H			; top address of variable vector table
    19  000FFFDCh                       Vvector		.equ	0FFFDCH			; top address of fixed vector table
    20  00000380h                       SB_base		.equ	000380H			; base address of SB recative
    21                                  ;
    22                                  ;---------- KEEP OF RAM AREA -------------------
    23                                  ;
    24                                  	.section	memory,data
    25  00400                           	.org		VramTOP
    26  00400(000002H)                  	result: 	.blkb	2
    27                                  	
    28                                  	.section	prog,code
    29  F0000                           	.org		VprogTOP
    30                                  	.sb	SB_base				; assings aprovisional SB register value
    31                                  	.sbsym	result				; place data in SB addressing mode
    32                                  ;
    33                                  	
    34                                  	
    35                                  ;---------- CLEAR OF RAM -----------------------
    36                                  ;
    37  F0000                           reset:
    38  F0000  EB40002C                 	ldc	#VIstack,ISP			; set Interrupt Stack Pointer
    39  F0004  EB608003                   	ldc	#SB_base,SB			; set SB register
    40                                  ;	ldintb	#Vintbase			; set Interrupt TaBle register
    41                                  ;
    42  F0008  D900                  Q  	mov.w	#0,r0				; 0 clear
    43  F000A  75C30014                 	mov.w	#(VramEND+1-VramTOP)/2,r3	; number of times
    44  F000E  AA0004                S  	mov.w	#VramTOP,a1			; start address
    45  F0011  7DEA                     	sstr.w
    46                                  ;
    47                                  ;---------- INITIALLIZE ------------------------
    48                                  ;
    49  F0013  EB200F00                 	LDINTB	#USER_vector_table
               EB1000A0 
    50  F001B  C7065D00              S  	mov.b	#00000110B,int0ic		; INT0 Interrupt control reg set
    51  F001F  B572                  Z* 	mov.b   #0,pd8				; port8 set input
    52  F0021  C5017E                S* 	mov.b   #1,pur2     			; p8.1 is pull
    53                                  ;
    54                                  ;---------- MAIN PROGRAM -----------------------
    55                                  ;BCD_subtract8
    56                                  ;       Input:  --------------------->   Output:
    57                                  ;	R0  (Lower half of minuend)      R0  (Lower half of subtraction result)
    58                                  ;	R1  (Lower half of subtrahend)   R1  (Does not change)
    59                                  ;	R2  (Upper half of minuend)      R2  (Upper half of subtraction result)
    60                                  ;	R3  (Upper half of subtrahend)   R3  (Does not change)
    61  F0024                           main:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 03:13:07 2005  PAGE 002

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

    62  F0024  D900                  Q  	mov.w	#0000H,r0			
    63  F0026  D901                  Q  	mov.w	#0000H,r1			
    64  F0028  75C2FF01                 	mov.w	#511,r2				
    65  F002C  77520000                         sub.w   #0000H,r2
    66  F0030  6A2F                             jz   exit      
    67  F0032  7DEC8348                 haha:	dadd.w  #4883h,r0
    68  F0036  7540                             push.w r0
    69  F0038  7310                             mov.w   r1,r0
    70  F003A  7DEE0000                         dadc.w  #0,r0
    71  F003E  7301                             mov.w   r0,r1
    72  F0040  75D0                             pop.w r0
    73  F0042  F9F2EE                           sbjnz.w #1,r2,haha        		                        
    74  F0045  7DEC5000                 	dadd.w #0050H,r0
    75  F0049  7540                             push.w r0
    76  F004B  7310                             mov.w   r1,r0
    77  F004D  7DEE0000                         dadc.w  #0,r0
    78  F0051  7301                             mov.w   r0,r1
    79  F0053  75D0                             pop.w r0
    80  F0055  08                    S          mov.b   r0h,r0l
    81  F0056  7221                             mov.b   r1l,r0h
    82  F0058  A20004                S          mov.w	#VramTOP, a0				
    83  F005B  7306                     	mov.w	r0, [a0]				
    84  F005D  B2                       	inc.w       a0
    85  F005E  7316                     	mov.w   r1, [a0]
    86  F0060  7DF3                     exit:       wait      
    87                                  ;
    88                                  ;---------- START-----------------------
    89                                  ;	
    90  F0062                           sw_int0:
    91                                  
    92                                  	
    93  F0062  FB                       	reit
    94                                  ;	
    95                                  ;---------- DUMMY UART0 INTERRUPT PROGRAM ------
    96                                  ;
    97  F0063                           dummy:
    98  F0063  FB                       	reit;	
    99                                  ;
   100                                  ;---------- VARIABLE VECTOR TABLE SET ----------
   101                                  ;
   102                                  	.section	val_vect,romdata
   103  FA000                           	.org		Vintbase
   104  FA000                           USER_vector_table:
   105  FA000  63000F00                 	.lword		dummy			; No0  Break Interrupt
   106  FA004  63000F00                 	.lword		dummy			; No1  Break Interrupt
   107  FA008  63000F00                 	.lword		dummy			; No2  Break Interrupt
   108  FA00C  63000F00                 	.lword		dummy			; No3  Break Interrupt
   109  FA010  63000F00                 	.lword		dummy			; No4  Break Interrupt
   110  FA014  63000F00                 	.lword		dummy			; No5  Break Interrupt
   111  FA018  63000F00                 	.lword		dummy			; No6  Break Interrupt
   112  FA01C  63000F00                 	.lword		dummy			; No7  Break Interrupt
   113  FA020  63000F00                 	.lword		dummy			; No8  Break Interrupt
   114  FA024  63000F00                 	.lword		dummy			; No9  Break Interrupt
   115  FA028  63000F00                 	.lword		dummy			; No10 Bus Clash Detect
   116  FA02C  63000F00                 	.lword		dummy			; No11 DMA0 
   117  FA030  63000F00                 	.lword		dummy			; No12 DMA1 
   118  FA034  63000F00                 	.lword		dummy			; No13 KEY IN Interrupt
   119  FA038  63000F00                 	.lword		dummy 	   	        ; No14 A-D Interrupt
   120  FA03C  63000F00                 	.lword		dummy			; No15 UART2 Transmission Interrupt
   121  FA040  63000F00                 	.lword		dummy			; No16 UART2 receive Interrupt
   122  FA044  63000F00                 	.lword		dummy			; No17 UART0 Transmission Interrupt
   123  FA048  63000F00                 	.lword		dummy			; No18 UART0 receive Interrupt
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Sat Apr 09 03:13:07 2005  PAGE 003

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

   124  FA04C  63000F00                 	.lword		dummy			; No19 UART1 Transmission Interrupt
   125  FA050  63000F00                 	.lword		dummy			; No20 UART1 receive Interrupt
   126  FA054  63000F00                 	.lword		dummy			; No21 TimerA0 Interrupt
   127  FA058  63000F00                 	.lword		dummy   		; No22 TimerA1 Interrupt
   128  FA05C  63000F00                 	.lword		dummy			; No23 TimerA2 Interrupt
   129  FA060  63000F00                 	.lword		dummy			; No24 TimerA3 Interrupt
   130  FA064  63000F00                 	.lword		dummy			; No25 TimerA4 Interrupt
   131  FA068  63000F00                 	.lword		dummy			; No26 TimerB0 Interrupt
   132  FA06C  63000F00                 	.lword		dummy			; No27 TimerB1 Interrupt
   133  FA070  63000F00                 	.lword		dummy			; No28 TimerB2 Interrupt
   134  FA074  62000F00                 	.lword		sw_int0 		; No29 INIT0(Active Low) Interrupt
   135  FA078  63000F00                 	.lword		dummy    		; No30 INIT1(Active Low) Interrupt
   136  FA07C  63000F00                 	.lword		dummy			; No31 INIT2(Active Low) Interrupt
   137  FA080  63000F00                 	.lword		dummy			; No32 S/W Interrupt
   138  FA084  63000F00                 	.lword		dummy			; No33 S/W Interrupt
   139  FA088  63000F00                 	.lword		dummy			; No34 S/W Interrupt
   140  FA08C  63000F00                 	.lword		dummy			; No35 S/W Interrupt
   141  FA090  63000F00                 	.lword		dummy			; No36 S/W Interrupt
   142  FA094  63000F00                 	.lword		dummy			; No37 S/W Interrupt
   143  FA098  63000F00                 	.lword		dummy			; No38 S/W Interrupt
   144  FA09C  63000F00                 	.lword		dummy			; No39 S/W Interrupt
   145  FA0A0  63000F00                 	.lword		dummy			; No40 S/W Interrupt
   146  FA0A4  63000F00                 	.lword		dummy			; No41 S/W Interrupt
   147  FA0A8  63000F00                 	.lword		dummy			; No42 S/W Interrupt
   148  FA0AC  63000F00                 	.lword		dummy			; No43 S/W Interrupt
   149  FA0B0  63000F00                 	.lword		dummy			; No44 S/W Interrupt
   150  FA0B4  63000F00                 	.lword		dummy			; No45 S/W Interrupt
   151  FA0B8  63000F00                 	.lword		dummy			; No46 S/W Interrupt
   152  FA0BC  63000F00                 	.lword		dummy			; No47 S/W Interrupt
   153  FA0C0  63000F00                 	.lword		dummy			; No48 S/W Interrupt
   154  FA0C4  63000F00                 	.lword		dummy			; No49 S/W Interrupt
   155  FA0C8  63000F00                 	.lword		dummy			; No50 S/W Interrupt
   156  FA0CC  63000F00                 	.lword		dummy			; No51 S/W Interrupt
   157  FA0D0  63000F00                 	.lword		dummy			; No52 S/W Interrupt
   158  FA0D4  63000F00                 	.lword		dummy			; No53 S/W Interrupt
   159  FA0D8  63000F00                 	.lword		dummy			; No54 S/W Interrupt
   160  FA0DC  63000F00                 	.lword		dummy			; No55 S/W Interrupt
   161  FA0E0  63000F00                 	.lword		dummy			; No56 S/W Interrupt
   162  FA0E4  63000F00                 	.lword		dummy			; No57 S/W Interrupt
   163  FA0E8  63000F00                 	.lword		dummy			; No58 S/W Interrupt
   164  FA0EC  63000F00                 	.lword		dummy			; No59 S/W Interrupt
   165  FA0F0  63000F00                 	.lword		dummy			; No60 S/W Interrupt
   166  FA0F4  63000F00                 	.lword		dummy			; No61 S/W Interrupt
   167  FA0F8  63000F00                 	.lword		dummy			; No62 S/W Interrupt
   168  FA0FC  63000F00                 	.lword		dummy			; No63 S/W Interrupt
   169                                  ;
   170                                  ;---------- VECTOR TABLE ----------
   171                                  ;
   172                                  	.section	inter,romdata
   173  FFFFC                           	.org		Vvector+(8*4)
   174  FFFFC  00000F00                 	.lword		reset
   175                                  ;
   176                                  ;---------- PROGRAM END ----------
   177                                  ;
   178                                  	.end

Information List

TOTAL ERROR(S)    00000
TOTAL WARNING(S)  00000
TOTAL LINE(S)     00178   LINES

Section List

Attr        Size          Name
DATA     0000002(00002H)  memory
CODE     0000100(00064H)  prog
ROMDATA  0000256(00100H)  val_vect
ROMDATA  0000004(00004H)  inter

⌨️ 快捷键说明

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