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

📄 s610411sw.prn

📁 这是一个段式lcd显示
💻 PRN
📖 第 1 页 / 共 2 页
字号:
RASU8(ML610411)Relocatable Assembler, Ver.1.30.2    assemble list. page:   1 
 Source File: s610411sw.asm
 Object File: _output\_obj\s610411sw.obj
 Date  : 2009/02/25 Wed.[15:43]
 Title : 
## Loc. Object                   Line   Source Statements

                                    1   ;***************************************************************
                                    2   ;       ML610Q411 start up assembly source file
                                    3   ;       for CCU8 version 1.xx/2.xx/3.xx
                                    4   ;       SMALL CODE MODEL
                                    5   ;       ROMWINDOW  0-03DFFh
                                    6   ;       Version 1.01
                                    7   ;       Copyright (C) 2008 OKI SEMICONDUCTOR CO., LTD.
                                    8   ;***************************************************************
                                    9   
                                   10           type(M610411)
                                   11   
                                   12           model   small
                                   13           romwindow       0, 03dffh
                                   14   
                                   15           extrn   code: _main
                                   16           extrn   data near: _$$SP
                                   17           public  $$start_up
                                   18   
  --------------------------       19           cseg    at 0:0h
00:0000 00-00'                     20           dw      offset _$$SP
                                   21   
  --------------------------       22           cseg    at 0:4h
00:0004 00-00'                     23           dw      $$brk_reset
                                   24   
                                   25   $$NCODs610411sw  segment code    #0
  --------------------------       26           rseg    $$NCODs610411sw
                                   27   
00:0000                            28   $$start_up:
                                   29   
00:0000 01 CE                      30           bal     $begin
                                   31   
00:0002                            32   $$brk_reset:
00:0002 FF CE                      33           bal     $               ;endless loop
                                   34   
00:0004                            35   $begin:
                                   36   
                                   37   ;---------------------------------------------------------------
                                   38   ;       setting Memory Model
                                   39   ;---------------------------------------------------------------
                                   40   ; nothing (fixed as Small model)
                                   41   
                                   42   ;---------------------------------------------------------------
                                   43   ;       setting Rom Window range
                                   44   ;---------------------------------------------------------------
                                   45   ; nothing (fixed as range 0-03dffh)
                                   46   
                                   47   ;---------------------------------------------------------------
                                   48   ;       user SFR definition
                                   49   ;---------------------------------------------------------------
                                   50   ; nothing
                                   51   
                                   52   ;---------------------------------------------------------------
                                   53   ;       Data memory zero clear
                                   54   ;---------------------------------------------------------------
    = 0000E000H                    55   NEAR_RAM_START  equ     0e000h
    = 0000E3FFH                    56   NEAR_RAM_END    equ     0e3ffh
                                   57   
00:0004 00 E0                      58           mov     er0,    #0
00:0006 00 E2                      59           mov     er2,    #0
00:0008 00 E4                      60           mov     er4,    #0
00:000A 00 E6                      61           mov     er6,    #0
                                   62   
00:000C 00 08                      63           mov     r8,     #BYTE1 NEAR_RAM_START
00:000E E0 09                      64           mov     r9,     #BYTE2 NEAR_RAM_START
00:0010 8A-F0                      65           lea     [er8]
00:0012                            66   __near_ram_loop:
00:0012 57-90                      67           st      qr0,    [ea+]
00:0014 88 E8                      68           add     er8,    #8              ;er8 += 8
00:0016 E4 79                      69           cmp     r9,     #BYTE2 (NEAR_RAM_END+1)
00:0018 FC C1                      70           blt     __near_ram_loop
00:001A 00 78                      71           cmp     r8,     #BYTE1 (NEAR_RAM_END+1)
00:001C FA C1                      72           blt     __near_ram_loop
                                   73   
                                   74   ;---------------------------------------------------------------
                                   75   ;       WDT counter clear (for ML610Q411)
                                   76   ;
                                   77   ;       !!NOTICE!!
                                   78   ;       After this process, you have to clear WDT counter within 
                                   79   ;       the time described in "ML610Q411/Q412/Q415 user's manual 
                                   80   ;       Chapter12 WDT".
                                   81   ;---------------------------------------------------------------
00:001E 5A 0C                      82           mov     r12,     #05ah
00:0020 A5 0D                      83           mov     r13,     #0a5h
00:0022 81-A0 0E-F0                84           tb      WDP
00:0026 02 C9                      85           bz      __wdtcounter_clear
00:0028 11-9D 0E-F0                86           st      r13,     WDTCON
00:002C                            87   __wdtcounter_clear:
00:002C 11-9C 0E-F0                88           st      r12,     WDTCON
00:0030 11-9D 0E-F0                89           st      r13,     WDTCON
                                   90   
                                   91   ;---------------------------------------------------------------
                                   92   ;       data variable initialization
                                   93   ;---------------------------------------------------------------
00:0034 00'0A                      94           mov     r10,    #SEG $$init_info
00:0036 0C-F0 00-00'               95           lea     OFFSET $$init_info
00:003A                            96   __init_loop:
                                   97           ;---------------------------------------------
                                   98           ; get source offset address and set in ER0
                                   99           ;---------------------------------------------
00:003A AF-90 52-90               100           l       er0,    r10:[ea+]
00:003E FF 70                     101           cmp     r0,     #0ffh
00:0040 02 C8                     102           bne     __skip
00:0042 FF 71                     103           cmp     r1,     #0ffh
00:0044 20 C9                     104           beq     __init_end              ;if er0==0ffffh then exit
00:0046                           105   __skip:
                                  106           ;---------------------------------------------
                                  107           ; get destination offset address and set in ER2
                                  108           ;---------------------------------------------
00:0046 AF-90 52-92               109           l       er2,    r10:[ea+]
                                  110   
                                  111           ;---------------------------------------------
                                  112           ; get size of objects and set in ER4
                                  113           ;---------------------------------------------
00:004A AF-90 52-94               114           l       er4,    r10:[ea+]
                                  115   
                                  116           ;---------------------------------------------
                                  117           ; get source phy_seg address and set in R6
                                  118           ;---------------------------------------------
00:004E AF-90 50-96               119           l       r6,     r10:[ea+]
                                  120   
                                  121           ;---------------------------------------------
                                  122           ; get destination phy_seg address and set in R7
                                  123           ;---------------------------------------------
00:0052 AF-90 50-97               124           l       r7,     r10:[ea+]
                                  125   
                                  126           ;---------------------------------------------
                                  127           ; copy
                                  128           ;---------------------------------------------
                                  129   
00:0056 80 E4                     130           add     er4,    #0
00:0058 F0 C9                     131           bz      __init_loop             ;if er4==0000 then next
                                  132   
00:005A 01-A2                     133           tb      r2.0
00:005C 0B C8                     134           bnz     __loop_by_byte
00:005E 01-A4                     135           tb      r4.0
00:0060 09 C8                     136           bnz     __loop_by_byte
                                  137   
00:0062                           138   __init_loop2:
00:0062 6F-90 02-98               139           l       er8,    r6:[er0]
00:0066 82 E0                     140           add     er0,    #2              ;er0 += 2
00:0068 7F-90 23-98               141           st      er8,    r7:[er2]
00:006C 82 E2                     142           add     er2,    #2              ;er2 += 2
                                  143   
00:006E FE E4                     144           add     er4,    #-2             ;er4 -= 2

⌨️ 快捷键说明

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