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

📄 flash_nor_intel_br28f128l18t85.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:26 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("flash_NOR_INTEL_BR28F128L18T85.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
;*****************************************************************************
;* CINIT RECORDS                                                             *
;*****************************************************************************
	.sect	".cinit"
	.align	4
	.field  	IR_1,32
	.field  	_flashdata+0,32
	.field  	4660,16			; _flashdata[0] @ 0
	.field  	22136,16			; _flashdata[1] @ 16
	.field  	21845,16			; _flashdata[2] @ 32
	.field  	4112,16			; _flashdata[3] @ 48
IR_1:	.set	8

	.sect	".cinit"
	.align	4
	.field  	IR_2,32
	.field  	_dsc+0,32
	.field  	0,16			; _dsc[0] @ 0
IR_2:	.set	2


DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("flashdrv_amd_id_read"), DW_AT_symbol_name("_flashdrv_amd_id_read")
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
	.dwendtag DW$1


DW$4	.dwtag  DW_TAG_subprogram, DW_AT_name("flashdrv_amd_erase_end"), DW_AT_symbol_name("_flashdrv_amd_erase_end")
	.dwattr DW$4, DW_AT_declaration(0x01)
	.dwattr DW$4, DW_AT_external(0x01)

DW$5	.dwtag  DW_TAG_subprogram, DW_AT_name("flashdrv_amd_write"), DW_AT_symbol_name("_flashdrv_amd_write")
	.dwattr DW$5, DW_AT_declaration(0x01)
	.dwattr DW$5, DW_AT_external(0x01)
DW$6	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$25)
DW$8	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
	.dwendtag DW$5


DW$9	.dwtag  DW_TAG_subprogram, DW_AT_name("write_test"), DW_AT_symbol_name("_write_test")
	.dwattr DW$9, DW_AT_declaration(0x01)
	.dwattr DW$9, DW_AT_external(0x01)

DW$10	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
	.dwattr DW$10, DW_AT_type(*DW$T$10)
	.dwattr DW$10, DW_AT_declaration(0x01)
	.dwattr DW$10, DW_AT_external(0x01)

DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
	.dwattr DW$11, DW_AT_type(*DW$T$10)
	.dwattr DW$11, DW_AT_declaration(0x01)
	.dwattr DW$11, DW_AT_external(0x01)

DW$12	.dwtag  DW_TAG_subprogram, DW_AT_name("AMD_FLASH_TEST"), DW_AT_symbol_name("_AMD_FLASH_TEST")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_declaration(0x01)
	.dwattr DW$12, DW_AT_external(0x01)
	.global	_flashdata
	.bss	_flashdata,8,4
DW$13	.dwtag  DW_TAG_variable, DW_AT_name("flashdata"), DW_AT_symbol_name("_flashdata")
	.dwattr DW$13, DW_AT_location[DW_OP_addr _flashdata]
	.dwattr DW$13, DW_AT_type(*DW$T$45)
	.dwattr DW$13, DW_AT_external(0x01)
	.global	_dsc
	.bss	_dsc,4,4
DW$14	.dwtag  DW_TAG_variable, DW_AT_name("dsc"), DW_AT_symbol_name("_dsc")
	.dwattr DW$14, DW_AT_location[DW_OP_addr _dsc]
	.dwattr DW$14, DW_AT_type(*DW$T$47)
	.dwattr DW$14, DW_AT_external(0x01)
;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI96812 
	.sect	".text"
	.align	4
	.clink
	.armfunc _flash_erase_test_a9_zhy
	.state32

DW$15	.dwtag  DW_TAG_subprogram, DW_AT_name("flash_erase_test_a9_zhy"), DW_AT_symbol_name("_flash_erase_test_a9_zhy")
	.dwattr DW$15, DW_AT_low_pc(_flash_erase_test_a9_zhy)
	.dwattr DW$15, DW_AT_high_pc(0x00)
	.dwattr DW$15, DW_AT_begin_file("flash_NOR_INTEL_BR28F128L18T85.c")
	.dwattr DW$15, DW_AT_begin_line(0x23)
	.dwattr DW$15, DW_AT_begin_column(0x0f)
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",36,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: flash_erase_test_a9_zhy                                    *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Regs Used         : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Local Frame Size  : 0 Args + 12 Auto + 4 Save = 16 byte                 *
;*****************************************************************************
_flash_erase_test_a9_zhy:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A2, A3, A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 12
	.dwcfa	0x80, 2, 3
	.dwcfa	0x0e, 16
	.dwcfa	0x80, 1, 4
	.dwcfa	0x0e, 16
;* A1    assigned to _flash_size_in_bytes
DW$16	.dwtag  DW_TAG_formal_parameter, DW_AT_name("flash_size_in_bytes"), DW_AT_symbol_name("_flash_size_in_bytes")
	.dwattr DW$16, DW_AT_type(*DW$T$28)
	.dwattr DW$16, DW_AT_location[DW_OP_reg0]
DW$17	.dwtag  DW_TAG_variable, DW_AT_name("flash_size_in_bytes"), DW_AT_symbol_name("_flash_size_in_bytes")
	.dwattr DW$17, DW_AT_type(*DW$T$28)
	.dwattr DW$17, DW_AT_location[DW_OP_breg13 0]
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("Result"), DW_AT_symbol_name("_Result")
	.dwattr DW$18, DW_AT_type(*DW$T$9)
	.dwattr DW$18, DW_AT_location[DW_OP_breg13 4]
DW$19	.dwtag  DW_TAG_variable, DW_AT_name("writeNum"), DW_AT_symbol_name("_writeNum")
	.dwattr DW$19, DW_AT_type(*DW$T$9)
	.dwattr DW$19, DW_AT_location[DW_OP_breg13 6]
DW$20	.dwtag  DW_TAG_variable, DW_AT_name("write_address"), DW_AT_symbol_name("_write_address")
	.dwattr DW$20, DW_AT_type(*DW$T$11)
	.dwattr DW$20, DW_AT_location[DW_OP_breg13 8]
        STR       A1, [SP, #0]          ; |36| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",37,20
        MOV       V9, #0                ; |37| 
        STRH      V9, [SP, #4]          ; |37| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",41,5
        MOV       V9, #234881024        ; |41| 
        STR       V9, [SP, #8]          ; |41| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",45,10
        MOV       V9, #0                ; |45| 
        STRH      V9, [SP, #6]          ; |45| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",45,22
        LDRH      V9, [SP, #6]          ; |45| 
        CMP       V9, #127              ; |45| 
        BGE       L4                    ; |45| 
        ; |45| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 45
;*   Loop closing brace source line  : 62
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_flash_erase_test_a9_zhy$2$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",48,6
        LDR       A1, [SP, #8]          ; |48| 
        BL        _flash_intel_28f256l18top_unlock_one_block ; |48| 
        ; |48| 
        CMP       A1, #0                ; |48| 
        BEQ       L2                    ; |48| 
        ; |48| 
DW$L$_flash_erase_test_a9_zhy$2$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",49,7
        ADR       A2, SL1               ; |49| 
        MOV       A1, #1                ; |49| 
        BL        _UART_Printf          ; |49| 
        ; |49| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",50,7
        MOV       V9, #65536            ; |50| 
        SUB       V9, V9, #1            ; |50| 
        STRH      V9, [SP, #4]          ; |50| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",51,7
        B         L4                    ; |51| 
        ; |51| 
;* --------------------------------------------------------------------------*
L2:    
DW$L$_flash_erase_test_a9_zhy$4$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",55,9
        LDR       A1, [SP, #8]          ; |55| 
        BL        _flash_intel_28f256l18top_erase_one_block ; |55| 
        ; |55| 
        CMP       A1, #0                ; |55| 
        BEQ       L3                    ; |55| 
        ; |55| 
DW$L$_flash_erase_test_a9_zhy$4$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",56,9
        ADR       A2, SL2               ; |56| 
        MOV       A1, #1                ; |56| 
        BL        _UART_Printf          ; |56| 
        ; |56| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",57,9
        MOV       V9, #65536            ; |57| 
        SUB       V9, V9, #1            ; |57| 
        STRH      V9, [SP, #4]          ; |57| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",58,9
        B         L4                    ; |58| 
        ; |58| 
;* --------------------------------------------------------------------------*
L3:    
DW$L$_flash_erase_test_a9_zhy$6$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",61,6
        LDR       V9, [SP, #8]          ; |61| 
        ADD       V9, V9, #131072       ; |61| 
        STR       V9, [SP, #8]          ; |61| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",45,85
        LDRH      V9, [SP, #6]          ; |45| 
        ADD       V9, V9, #1            ; |45| 
        STRH      V9, [SP, #6]          ; |45| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",45,22
        LDRH      V9, [SP, #6]          ; |45| 
        CMP       V9, #127              ; |45| 
        BLT       L1                    ; |45| 
        ; |45| 
DW$L$_flash_erase_test_a9_zhy$6$E:
;* --------------------------------------------------------------------------*
L4:    
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",65,10
        MOV       V9, #0                ; |65| 
        STRH      V9, [SP, #6]          ; |65| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",65,22
        LDRH      V9, [SP, #6]          ; |65| 
        CMP       V9, #4                ; |65| 
        BGE       L8                    ; |65| 
        ; |65| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L5
;*
;*   Loop source line                : 65
;*   Loop closing brace source line  : 86
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L5:    
DW$L$_flash_erase_test_a9_zhy$8$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",68,9
        LDRH      V9, [SP, #4]          ; |68| 
        CMP       V9, #0                ; |68| 
        BNE       L8                    ; |68| 
        ; |68| 
DW$L$_flash_erase_test_a9_zhy$8$E:
;* --------------------------------------------------------------------------*
DW$L$_flash_erase_test_a9_zhy$9$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",69,9
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",72,6
        LDR       A1, [SP, #8]          ; |72| 
        BL        _flash_intel_28f256l18top_unlock_one_block ; |72| 
        ; |72| 
        CMP       A1, #0                ; |72| 
        BEQ       L6                    ; |72| 
        ; |72| 
DW$L$_flash_erase_test_a9_zhy$9$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",73,7
        ADR       A2, SL3               ; |73| 
        MOV       A1, #1                ; |73| 
        BL        _UART_Printf          ; |73| 
        ; |73| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",74,7
        MOV       V9, #65536            ; |74| 
        SUB       V9, V9, #1            ; |74| 
        STRH      V9, [SP, #4]          ; |74| 
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",75,7
        B         L8                    ; |75| 
        ; |75| 
;* --------------------------------------------------------------------------*
L6:    
DW$L$_flash_erase_test_a9_zhy$11$B:
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",79,9
        LDR       A1, [SP, #8]          ; |79| 
        BL        _flash_intel_28f256l18top_erase_one_block ; |79| 
        ; |79| 
        CMP       A1, #0                ; |79| 
        BEQ       L7                    ; |79| 
        ; |79| 
DW$L$_flash_erase_test_a9_zhy$11$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"flash_NOR_INTEL_BR28F128L18T85.c",80,9

⌨️ 快捷键说明

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