디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

가장 아름다운 프로그래밍 언어는 이거 아니냐?

d(125.177) 2013.02.27 12:10:23
조회 155 추천 0 댓글 3

 (void) gfxFill (u8 x, u8 y, u16 fc, u16 bc, u32 addr);

        .ARM
        .ALIGN
        .GLOBL  gfxFill
@ r0 = x
@ r1 = y
@ r2 = fill color
@ r3 = boundary color
@ r4 = pixel addr
@ r5 = stack count
@ r6 = tmp test pixel

gfxFill:
        sub     sp,sp,#4         @ protect the stack so addr doesn't
                                 @  doesn't get overwritten.
        stmfd   r13!,{r0-r7,r14}

        ldr     r6,[r13,#40]     @ Get the screen base address

@ Calculate start address
        mov     r4,#480
        mul     r5,r4,r1
        add     r5,r5,r0,lsl #1
        add     r4,r5,r6         @ r4 = start address

        mov     r5,#0            @ set points on stack count to 0

1:      bl      9f               @ Is point filled?
        bcs     4f               @ yes

2:      sub     r1,r1,#1
        sub     r4,r4,#480
        bl      9f               @ Is point above this one set?
        bcc     2b               @ No, so check again
        add     r1,r1,#1
        add     r4,r4,#480

3:      sub     r0,r0,#1
        sub     r4,r4,#2
        bl      9f               @ Is point on the left set ?
        bcc     2b               @ No, so check above again
        add     r0,r0,#1
        add     r4,r4,#2

@ Plot a pixel at r0,r1 of color r2

        strh    r2,[r4]

        add     r1,r1,#1
        add     r4,r4,#480
        bl      9f               @ Is point below set ?
        bcc     5f               @ No

        sub     r1,r1,#1
        add     r0,r0,#1
        sub     r4,r4,#480
        add     r4,r4,#2
        bl      9f               @ Is point on the right set ?
        bcc     2b               @ No
        sub     r0,r0,#1
        sub     r4,r4,#2

@ Are there any more points on stack?

4:      cmp     r5,#0
        beq     8f               @ No

@ Get point on stack

        ldmfd   r13!,{r4,r7}     @ r4 = scrn adr, r7 = packed x/y
        mov     r1,r7,lsr #16    @ r1 = point y
        mov     r0,r7,lsl #16
        mov     r0,r0,lsr #16    @ r0 = point x

        sub     r5,r5,#1
        b       1b

5:
        sub     r1,r1,#1
        add     r0,r0,#1
        sub     r4,r4,#480
        add     r4,r4,#2
        bl      9f               @ Is point on the right set ?
        bcs     6f               @ Yes

        add     r1,r1,#1
        add     r4,r4,#480
        bl      9f               @ Is lower right point set ?
        bcc     7f               @ No

        sub     r1,r1,#1
        sub     r4,r4,#480

@ Save point position on stack

        add     r5,r5,#1         @ Increment points on stack count

@@@@ ADD STACK OVERFLOW TEST HERE @@@@@

        add     r7,r0,r1,lsl #16  @ pack x & y into r7

        stmfd   r13!,{r4,r7}  @ Save point on stack

@ Point below is not set

6:      add     r1,r1,#1
        sub     r0,r0,#1
        add     r4,r4,#480
        sub     r4,r4,#2
        b       3b

7:      sub     r0,r0,#1
        sub     r4,r4,#2
        b       3b

@ Exit fill routine

8:
        ldmfd   r13!,{r0-r7,r14}
        add     sp,sp,#4
        bx      r14

@ Clear Carry if pixel r0,r1 needs to be filled

9:
        cmps    r0,#240         @ is x coord out of bounds?
        bxcs    lr              @ yes, exit with carry set
        cmps    r1,#160         @ is y coord out of founds?
        bxcs    lr              @ yes exit with carry set

        ldrh    r6,[r4]

        cmps    r6,r2           @ Have we hit a filled spot?
        bxeq    lr              @ yes, exit with carry set

        cmps    r6,r3           @ Have we hit the boundary?
        bxeq    lr              @ yes, exit with carry set

@ Clear carry flag
        movs    r6,r0,lsl #1
        bx      lr

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
349786 근데 레알 ㅇㅇ성님 오고 나서 프갤 분위기 바뀜.txt [4] dd(1.214) 13.03.16 162 0
349784 fastcall [5] (168.126) 13.03.16 69 0
349783 싱글 게임 제한 좀 깨뜨려 주세요 ㅠㅠ [1] 징기스칸4갤로그로 이동합니다. 13.03.16 52 0
349780 fstream 뭐 이런식? [8] ㅇㅇ(119.203) 13.03.16 106 0
349779 ㅇㅇ님이랑 배틀하고싶다. [1] (168.126) 13.03.16 68 0
349778 후 피자 30분만에 다 먹음 ㅎㅎ [6] dd(1.214) 13.03.16 92 0
349777 아시발 교수가 과제내는데 존나 아무것도 모르겟다 도와줘 ㅜㅜ [15] ㅍㄿ(61.79) 13.03.16 135 0
349775 피자 진짜 크다 [2] 백이.갤로그로 이동합니다. 13.03.16 72 0
349774 싱글 게임 제한 좀 깨뜨려 주세요 ㅠㅠ [3] 징기스칸4갤로그로 이동합니다. 13.03.16 53 0
349772 찬양 루시퍼(122.35) 13.03.16 58 0
349771 여기 증권시황소스 받아올수 있는곳 어디있는지 아는 사람 있음??? [4] Colombia갤로그로 이동합니다. 13.03.16 81 0
349770 싱글게임 제한깸 [3] 징기츠칸11(122.35) 13.03.16 434 0
349769 nhn next 들어가기 쉬움? [1] 1ㅈㄷㅈ1(175.215) 13.03.16 95 0
349768 나도 핏짜 인증 [2] 백이.갤로그로 이동합니다. 13.03.16 1333 0
349767 ㅇㅇ형 제발 부탁 드려요 [2] 징기스칸4갤로그로 이동합니다. 13.03.16 74 0
349766 핏자 인증.jpg [4] dd(1.214) 13.03.16 939 0
349765 허걱 열심히 과제하고 왔더니 이게 웬 피자파티가... 근데 질문점; [6] ㅎㅋㅋㅋ(59.152) 13.03.16 119 0
349764 야 다음 타자 누구냐 줄서라. [12] ㅇㅇ(119.203) 13.03.16 202 0
349762 피자왔당! [1] 백이.갤로그로 이동합니다. 13.03.16 66 0
349760 ㅇㅇ형 제발 한번만 읽어 주세요 [1] 징기스칸4갤로그로 이동합니다. 13.03.16 86 0
349758 님들 비쥬얼스튜디오 다운받을라면 어디서 받아요? [1] d(121.140) 13.03.16 50 0
349757 피자왔다 개신기 ㅋㅋㅋ [3] 야간편돌이(175.116) 13.03.16 109 0
349756 OTP함부로 만들지 말라고 otp인데 그걸 하루만에 만들면 [1] Colombia갤로그로 이동합니다. 13.03.16 91 0
349755 요리중 떴다━━━━━(゚∀゚)━━━━━!!! [1] dd(1.214) 13.03.16 72 0
349754 야 나 깊갤러인데 나 프로그래밍가르쳐줘라 [2] 나인뮤지스이샘갤로그로 이동합니다. 13.03.16 80 0
349752 피자 벌써옴 ㄷㄷ [1] ㅇㅇ(61.98) 13.03.16 1360 0
349751 ㅇㅇ형 제발 한번만 읽어주세요 [1] 징기스칸4갤로그로 이동합니다. 13.03.16 75 0
349750 징기스칸4가 싱글 게임의 제한을 깨뜨려 달라 하는.reason [3] dd(1.214) 13.03.16 126 0
349748 뇌파 장애인도 피자먹었냐??? [2] ㅁㄴㅇ(1.245) 13.03.16 97 0
349747 프갤 실북갤 입개르.jpg dd(1.214) 13.03.16 63 0
349745 ㅋㅋ 피자 돌리느라 못 읽은 글들 읽고 왔다. [7] ㅇㅇ(119.203) 13.03.16 170 0
349744 프갤 사건 요약(링크) [3] 야간편돌이(175.116) 13.03.16 246 6
349743 ㅇㅇ 형님 제발 제 부탁을 들어주시면 안될까요? [1] 징기스칸4갤로그로 이동합니다. 13.03.16 76 0
349742 vmware 우분투 12.10에서 터미널 어디에있나요?? [8] 신입뉴비(115.126) 13.03.16 75 0
349741 싱글게임의 제한 좀 깨뜨려 주세요 [3] 징기스칸4갤로그로 이동합니다. 13.03.16 72 0
349738 혹시나 해서 올리는 도미노피자 쿠폰 사용방법 .jpg [1] dd(1.214) 13.03.16 102 0
349737 백이 백이.갤로그로 이동합니다. 13.03.16 39 0
349736 ㅇㅇ형님 감사합니다. ㅇㅇㅇ(175.223) 13.03.16 50 0
349735 아 휫자.... [2] Colombia갤로그로 이동합니다. 13.03.16 66 0
349734 ㅇㅇ횽님 ㄳㄳ~ dd(1.214) 13.03.16 76 0
349733 프수님 이야기 [12] 근성가이(211.237) 13.03.16 3381 17
349732 airwig은 어찌된거임? [2] ㅇㅇ(223.33) 13.03.16 124 0
349731 지금 밖인데 번호 받았는데 먹는방법 좀요! [4] ㅇㅇ(211.234) 13.03.16 72 0
349730 난 내 돈으로 사먹어야겠다 [4] 에어로홍갤로그로 이동합니다. 13.03.16 82 0
349729 난 새벽에 오늘을 대비해서 [3] 백이.갤로그로 이동합니다. 13.03.16 47 0
349727 ㅇㅇ형님 감사히 먹겠습니다. ㅇㅇ(211.234) 13.03.16 34 0
349724 ㅇㅇ님 피자 잘먹을게요 ㅠㅠ 인간(110.35) 13.03.16 40 0
349723 ㅇㅇ 형님 잘먹겟습니다 백이(182.214) 13.03.16 38 0
349722 성님 잘먹겠습니다 ㅇㅇ(61.98) 13.03.16 29 0
349719 ㅇㅇ 횽 잘먹겠습니다 DART(116.41) 13.03.16 51 0
뉴스 ‘열애설♥’ 미주 “한화이글스 경기, 빠짐없이 보고 있어” 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2