디시인사이드 갤러리

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

갤러리 본문 영역

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

d(125.177) 2013.02.27 12:10:23
조회 154 추천 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/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45405 65
2871142 Building a breadboard MSX computer 발명도둑잡기(118.235) 17:56 0 0
2871141 A Simple-as-Possible 8-bit Breadboard Co 발명도둑잡기(118.235) 17:54 1 0
2871139 6년전에 썼던 한페이지 짜리 코딩 msnr갤로그로 이동합니다. 17:53 6 0
2871136 여자친구랑 배드민톤 치고싶다 발명도둑잡기(118.235) 17:41 7 0
2871135 세계 바둑 순위 발명도둑잡기(118.235) 17:40 7 0
2871132 물 속에서 꺼낸 충격의 물고기 발명도둑잡기(118.235) 17:33 4 0
2871131 결국 웹앱개발이 도태되고 임베디드가 승리하는군 네오커헠(211.235) 17:32 16 0
2871129 방 치웠더니 등이 아프구나 발명도둑잡기(118.235) 17:30 4 0
2871128 내 나이 46살, 30대 여성과 사귀고싶다 발명도둑잡기(110.70) 17:26 8 0
2871126 바이브코딩이 ㅈㄴ 열받는 이유 프갤러(115.138) 16:29 46 0
2871125 제조업 MFC 쓰는 이유 [1] 피자2021(58.235) 16:24 33 0
2871124 2재명 좌파정부 여가부장관 후보 부정비리갑질 의혹 연이어 터져 특검 필요 ♥로스트미디어냥덩이♥갤로그로 이동합니다. 16:23 15 0
2871123 흠.. 그런겅강.. 기계적 리듬으로 안됭 ♥로스트미디어냥덩이♥갤로그로 이동합니다. 16:20 11 0
2871122 [IT산업] AI 개발자가 가능하다면 설계는 어떻게 될까?.. [2] +abcd3421갤로그로 이동합니다. 16:17 25 0
2871120 왜 장비제어 프로그램은 다 MFC인가요? [2] 노력하는자갤로그로 이동합니다. 15:50 45 0
2871119 의외의 방법으로 피부상태 되살린달글 ㅇㅇㅇㅇ(124.198) 15:49 15 0
2871117 인생 망했다 피자2021(58.235) 15:03 23 1
2871115 고등학생인것 같다는 얘기 들었다 [7] 헬마스터갤로그로 이동합니다. 14:08 72 0
2871114 국비 강사새끼들 다뒤졌네 프갤러(106.102) 13:59 58 0
2871113 트럼프는 슈퍼맨도 이민자라고 추방할 예정 [2] 발명도둑잡기(118.216) 13:55 25 0
2871112 성인 넷 중 한 명만 중강도 이상 신체활동…"부족률 세계 1.9배" 발명도둑잡기(118.216) 13:50 23 0
2871111 요즘 코드 짜주는 도우미 AI 중에 쓸만한 것은 뭐있냐 ? [5] ♨2.97™갤로그로 이동합니다. 13:36 49 0
2871110 10만 대기. 궁금한 거 물어봐. 다 대답해줌 [1] 프갤러(121.172) 13:35 22 0
2871109 웹페이지만드는데 궁금한거 있는데 [1] 프갤러(211.196) 13:17 29 0
2871107 짱깨좌빨척살 ! ♥로스트미디어냥덩이♥갤로그로 이동합니다. 12:31 23 0
2871105 나님 낮술 때리니 기분이 Joker등여~⭐+ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 11:53 21 0
2871104 웹앱땔깜들 소멸이얼마남지않았다 네오커헠(211.235) 11:48 51 0
2871101 냥덩이❤+가 지배하는 세상⭐+ [3] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 11:03 39 0
2871100 선임 육휴가고 경력자 뽑아서 그자리채웟는데 [7] ㅇㅇ(211.234) 10:58 65 0
2871099 전철에 비실이할머니 [1] 개멍청한유라갤로그로 이동합니다. 10:56 31 0
2871098 백종원 보다가 은현장 보니깐 천사가 따로없네 [7] 야옹아저씨갤로그로 이동합니다. 10:36 115 5
2871097 킬링필드의 진실, 그 때 미군 폭격이 있었다 [1] 발명도둑잡기(118.216) 10:33 13 0
2871095 고수준 개발자들은 gpu 개비싼거 사서 api키 따로 안씀? ㅇㅇ(119.194) 10:31 35 0
2871094 이게 뭐라고 신기하냐 [1] 프갤러(113.59) 10:26 35 0
2871093 관세폭탄 쳐맞고 술이나 처먹는 무능좌파 2찢명 [1] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 10:17 31 0
2871092 윤석열이 싸지른 똥 이재명이 열심히 치우는 중 [1] 야옹아저씨갤로그로 이동합니다. 09:51 33 1
2871089 ..!! [1] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 08:58 24 0
2871088 냥덩이를 현실에서 만나고 싶다면? [2] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 08:40 41 0
2871087 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 08:13 16 0
2871086 2재명 짱깨 셰셰 ♥로스트미디어냥덩이♥갤로그로 이동합니다. 08:12 16 0
2871085 도로도로도로? ♥로스트미디어냥덩이♥갤로그로 이동합니다. 07:55 19 0
2871083 도로도로? ♥로스트미디어냥덩이♥갤로그로 이동합니다. 07:30 16 0
2871082 도로? ♥로스트미디어냥덩이♥갤로그로 이동합니다. 07:20 18 0
2871081 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 06:58 15 0
2871080 자전거 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 06:56 13 0
2871079 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 06:50 12 0
2871078 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 06:48 20 0
2871077 나는조현병이야 나는내향적이야 손발이시립디다갤로그로 이동합니다. 06:09 23 0
2871072 음기 충전 발명도둑잡기(118.216) 01:47 39 0
뉴스 '아이쇼핑' 염정아 vs 원진아, 완벽한 설계자와 생존자의 팽팽한 대립! 파격 소재 담긴 독보적인 콘셉트! ‘아이쇼핑’만의 차별화된 핵심 포인트 집중 조명 디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2