CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): parsec ( 먼 소 류 )
날 짜 (Date): 2003년 2월  7일 금요일 오전 08시 10분 08초
제 목(Title): Re: [i*5/5] -- 일기보드에서...


애공... 수고해주셔서 감사합니다. ^^
(저도 ARM 어셈블러는 거의 본 일이 없고 매뉴얼 뒤져가며 보는 정도입니다.)

0x2000002는 data 를 출력하는 MSM5100의 port에 해당되고, ezUI_image2가 2바이트
데이타 타입에, 120x160 어레이니까 ezUI_image2[(j*120+i)*2]를 출력하는 것이죠.
일단 이부분은 이상이 없어보이는데, 그렇다면 다른 부분, 디스플레이 컨트롤러의
레지스터 값을 정의해주면서 기존의 변수나 정의와 충돌하는 부분이 있는지를
살펴봐야겠군요. 새로 생긴 에러는 새로 고친 부분에 있다는 경험법칙도 있고
하니...


재차 감사드립니다 ^^

P.S.
[i]로 인덱싱한 버전의 어셈블러입니다. 앞부분이 [i*5/5]로 인덱싱한 버전과 차이가
있는데 이것도 함 봐주실 수 없을까요? (날로 먹으려 드는...^^)
얼핏 보기에 [i*5/5]버전에서는 곱셈과 나눗셈을 처리하기 위한 레지스터 변수를 더
확보해 놓은 듯한데 그 이상의 의미가 있을지...


---------
; generated by ARM C Compiler, ADS1.0.1 [Build 187]
        CODE32

        AREA ||C$$codeseg||, CODE, READONLY

||x$codeseg|| DATA

draw_image PROC
        LDR      a1,|L1.424|
        STMDB    sp!,{v1,v2,lr}
        FRAME    SAVE r14, -4
        FRAME    SAVE r5, -8
        FRAME    SAVE r4, -12
        FRAME    ADDRESS r13, 12
        LDRB     a1,[a1,#0]
        CMP      a1,#0
        BEQ      |L1.416|
        MOV      ip,a4
        MOV      lr,#0x2000000
        CMP      ip,#0xe
        MOV      a4,#8
        MOV      a2,#9
        MOV      a3,#0x77
        MOV      a1,#7
        MOV      v2,#0
        LDR      v1,|L1.428|
        BNE      |L1.204|
        STRH     a1,[lr,#0]
        STRH     v2,[lr,#2]
        STRH     a4,[lr,#0]
        STRH     a3,[lr,#2]
        STRH     a2,[lr,#0]
        STRH     v2,[lr,#2]
        MOV      a1,#0xa
        STRH     a1,[lr,#0]
        MOV      a1,#0xd
        STRH     a1,[lr,#2]
        MOV      a1,#5
        STRH     a1,[lr,#0]
        LDR      v2,|L1.432|
        MOV      a3,#0
|L1.116|
        RSB      a2,a3,a3,LSL #4
        ADD      a2,v2,a2,LSL #4
        MOV      a1,#0
|L1.128|
        LDRB     a4,[v1,#0]
        CMP      a4,#1
        MOVEQ    a4,a1,LSL #1
        BEQ      |L1.168|
        CMP      a4,#2
        BNE      |L1.176|
        MOV      a4,a1,LSL #1
        LDRH     ip,[a2,a4]
        AND      ip,ip,#3
        STRH     ip,[lr,#2]
|L1.168|
        LDRH     a4,[a2,a4]
        STRH     a4,[lr,#2]
|L1.176|
        ADD      a1,a1,#1
        CMP      a1,#0x78
        BLT      |L1.128|
        ADD      a3,a3,#1
        CMP      a3,#0xe
        BLT      |L1.116|
        B        |L1.408|
|L1.204|
        MOV      ip,lr
        STRH     a1,[lr,#0]
        STRH     v2,[ip,#2]
        STRH     a4,[ip,#0]
        STRH     a3,[ip,#2]
        STRH     a2,[ip,#0]
        STRH     v2,[ip,#2]
        MOV      a1,#0xa
        STRH     a1,[ip,#0]
        MOV      a1,#0x9f
        STRH     a1,[ip,#2]
        MOV      a1,#5
        STRH     a1,[ip,#0]
        LDRB     a1,[v1,#0]
        LDR      v1,|L1.436|
        CMP      a1,#1
        MOVEQ    a2,#0
        BEQ      |L1.296|
        CMP      a1,#2
        BNE      |L1.408|
        MOV      a3,#0
        MOV      lr,ip
        B        |L1.348|
|L1.296|
        RSB      a3,a2,a2,LSL #4
        ADD      a4,v1,a3,LSL #4
        MOV      a1,#0
|L1.308|
        MOV      a3,a1,LSL #1
        LDRH     a3,[a4,a3]
        STRH     a3,[ip,#2]
        ADD      a1,a1,#1
        CMP      a1,#0x78
        BLT      |L1.308|
        ADD      a2,a2,#1
        CMP      a2,#0xa0
        BLT      |L1.296|
        B        |L1.408|
|L1.348|
        RSB      a2,a3,a3,LSL #4
        ADD      a2,v1,a2,LSL #4
        MOV      a1,#0
|L1.360|
        MOV      a4,a1,LSL #1
        LDRH     ip,[a2,a4]
        AND      ip,ip,#3
        STRH     ip,[lr,#2]
        LDRH     a4,[a2,a4]
        STRH     a4,[lr,#2]
        ADD      a1,a1,#1
        CMP      a1,#0x78
        BLT      |L1.360|
        ADD      a3,a3,#1
        CMP      a3,#0xa0
        BLT      |L1.348|
|L1.408|
        MOV      a1,#0xff
        STRH     a1,[lr,#0]
|L1.416|
        LDMIA    sp!,{v1,v2,lr}
        FRAME    STATE REMEMBER
        FRAME    RESTORE r4
        FRAME    RESTORE r5
        FRAME    RESTORE r14
        FRAME    ADDRESS r13, 0
        BX       lr
|L1.424|
        FRAME    STATE RESTORE
        DCD      is_mainlcd_onoff
|L1.428|
        DCD      lcd_color_depth
|L1.432|
        DCD      ezUI_annunbar_image
|L1.436|
        DCD      ezUI_image2
        KEEP     draw_image
        ENDP


                                            ... May the source be with you!
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.