컴공 일기205
게시글 주소: https://dev.orbi.kr/00059933475


어셈블리어 과제 해결. 약 9시간 걸리지 않았나 한다. 컴파일러가 알아서 처리하던 흐름과 분기를 직접적으로 따져가면서 코드를 짰기 때문에. 그 과정에서 말도 안 되는 실수도 범했고, 빙빙 돌아간 감각도 없지 않아 있지만, 무엇보다 재미있었다. 9시간 동안 공을 들여서, 성과와 성취를 만들어 낸다는 것. 내가 코딩과 컴공, 그리고 공학을 사랑하는 가장 원초적인 이유일 게다.
1. 100이하의 자연수 내, 12개의 난수(RandomNumber) 생성.
2. 3 by 4 Matrix에 해당 난수값 저장.
3. 이중반복문을 토대로, 12개의 값들 중 최댓값 특정.
4. 최댓값을 printf 함수로 출력.
걸핏보면, 상당히 간단한 과정이다. C언어로 짜봐도, 파이썬으로 짜봐도.. 길어봐야 50라인을 넘기지 못하겠지.
그런데, 이 4가지의 절차를 어셈블리어로 표기한다면 시간이 생각보다 많이 걸린다. 교수께서 subroutine을 요구하셨기 때문에 매개변수에 대한 부분, 함수 호출 부분, 그리고 분기 제어 부분이 문제가 된다는 것이다.
이 모든 것은 원래 "컴파일러가 알아서 잘 처리"해주지만, 어셈블리는 그런 것 없다. 그냥 맨땅에, 내 손으로 하드웨어에 명령하는 수밖에 없는 것이다.
num_s = -48
.text
.global main
main: save %sp, -152, %sp
ba outer_test
mov 0, %l0
inner:
call rand
nop
mov %o0, %l2
mov %l2, %o0
mov 100, %o1
call .urem
nop
mov %o0, %l2
sll %l0, 2, %o0
add %o0, %l1, %o0
sll %o0, 2, %o0
add %fp, %o0, %o0
st %l2, [%o0 + num_s]
ld [%o0 + num_s], %l3
set str, %o0
mov %l3, %o1
call printf
nop
inner_inc : add %l1, 1, %l1
inner_test :
cmp %l1, 4
bl inner
nop
outer_inc :
add %l0, 1, %l0
outer_test :
cmp %l0, 3
bl,a inner_test
mov 0, %l1
nop
add %fp, num_s, %o0
call max
nop
mov %o0, %o1
set str2, %o0
call printf
nop
max :
save %sp, -152, %sp
mov 12, %l2
ld [%i0], %l1 ! min : %l1 초기화
ba fortest
mov 1, %l0
for :
sll %l0, 2, %o0
add %i0, %o0, %o0
ld [%o0], %o0
cmp %o0, %l1
ble keep
nop
mov %o0, %l1
keep: add %l0, 1, %l0
fortest:
cmp %l0, %l2
bl for
nop
mov %l1, %i0
ret
restore
.data
str: .asciz "value = %d\n"
str2: .asciz "maximum = %d\n"
.align 8
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
김기현쌤 아이디어 0 0
작수 4이고 이번에 확통으로 바꿨습니더 확통은 시발점 듣고있는데 수1 수2를 어느...
-
조해공 과잠 봤을 때였음 조선해양공학과 <- 개틀딱같음 Naval...
-
이거 개쩌는 공부법인듯 2 1
1주마다 문제집 제끼고 오르비에 인증하기 앉아있는 시간은 같지만 공부량 ㅈㄴ 늘어난게 체감이 됨
-
윤사 코드원 샀음 1 2
윤사 개박살 났으니까 그래도 김종익 플러스 해서 코드원까지 하려고..
-
전화하고싶다 3 0
누구든좋으니까
-
작년에 2 0
2월부터 수능까지 새르비에 항상 있었던 사람이 있음
-
소아과 의사 누구였지 6 0
오르비언 ㅇㅅㅇ
-
한 달 뒤 새르비 상황 1 3
제목:진짜 다 뒤1졌냐? 2분전 조회수 8 작성자 수능 ㅈ된 설의적표현 내용:
-
???
-
수1 자작 0 1
수열 문제입니다. 거의 국밥 유형인 케이스 분류 문제에요. 오류 발견하시면...
-
아빠 안잔다 2 1
채널 돌리지 마라
-
유튜브하나보고 1 1
마저공부해야지
-
머리 안돌아가서 인강듣는데 2 0
인강도 내용이 잘 안들어옵니다.. 이럴땐 걍 자고 내일할까요?
-
저 누군지 모름? 1 1
구름과자임;;
-
죽었다. 0 0
새르비
-
치통에 4 2
잠을못자는중이에요.. 신경치료각이내
-
유빈이 진짜 야함.. 1 1
거꾸로 하면 빈유임.. 개좋네
-
이원준쌤 문학 괜찮나요? 1 0
ㅈㄱㄴ
-
햄버거 먹음 청년 2 1
슈슈버거세트
-
1회는 13,14 잘 넘기면 어찌어찌 40 중후반대까지 갈 수는 있는데 2회 <-...
-
수행평가로 책 소개하기가 있습니다. 식자경을 희망하고 있어요 책 추천해주실수 있나요
-
실모 만들면 출제자가 시간 세팅해서 딱 올려두고 시간 되면 참여자들이 맞춰서 푼...
-
수학 강사 추천 0 0
수리논술 할거라 미적, 확통, 기하 다 할건데 김범준 VS 정병호 (김범준은 기하...
-
쿠팡플레이 F1 해설위원인 윤재수 해설위원이 서울대 화학과 출신인데... 0 0
서울대 화학부 91학번인데, 1지망을 물리학과(현 물리천문학부 물리학전공) 2지망을...
-
오르비 흰바탕이 왼눈으론 뻘겋고 오른눈으론 누럼
-
차엿어요.. 3 1
...
-
3모 예상등급 0 0
33343정도…국어는 기출 풀기 시작한지 얼마 안 됐고 수학은 미적개념 돌리는...
-
기하러분들 0 0
서프 10번 내적으로 푸시려나
-
컨디션 좋은 상태로 독서실 다시 가고싶어
-
남은게돈뿐이구나 1 0
사람도사랑도식어감…
-
당분간 사립니다
-
난너무간지나서개명신청햇어김간지 0 0
역시난비주류야킥킥
-
지금까지 과학문제집 푼거 제외로 추천하는거있나요? 2 1
기출픽 1등급만들기 오투(개념으로씀) 완자(추가) 메가스터디 N제 자이스토리...
-
맞팔구 0 0
ㅇㅇ
-
반 단톡에서 생일인 사람들 축하해 주던데 그들은 헛걸음질을 하게 될것입니다 ㅋ
-
근데 부엉이껀 챙기면 진짜 개추 ㅋㅋ
-
화작에 2사탐 기준으로요 고대가 표점본다고하긴하던데 백분위로 대충 봐주실수있으신가요...
-
예체능 재순데 올해도 수학 유기하고 수능보면 평생 아쉬울것같아서 수학 지금 시작하고...
-
하쿠 1 0
들으샘
-
내가 그러고 있음 개찐따샛기..
-
이거 대략 현 예상 내 등급 1 2
아마 11313? 아니면 11314? 일듯. 아직 영어는 안 풀긴 했지만. 설마...
-
[Zola] 3월 교육청 대비 0 2
Zola임당. 3월 교육청 대비의 의미없음에 대해서는 아래 영상에서 말씀을...
-
사탐런 고민 3 1
현역이고 작수 물지 당일에 모의수능으로 학원가서쳤을때 2/1떴었는데 사탐런하면...
-
사실 저는 어제 생일이였습니다 왜 말하지 않았냐고요? "모두가 날 신경쓰는척 행동하는게 역겨우니까"
-
옯창 리스트 2 3
-
3월 더프 미적 4 1
21 22 30 틀려서 88점이네
-
과학 문제집중에 7 2
가장 어려운거 뭐임요??
-
야 신난다!
-
자꾸 간봐서 그렇긴 한데 3모 기간이 일정이 뭐가 많아서 아무도 안 볼거면 시간...
-
진지한 국어 질문 7 1
현역때 국어 안했고, 올해 3월에 처음 시작했습니다.선택은 화작목표는 6월에 3등급...

누나 멋져요
이분남자임ㅋㅋ
아?

어머 감사해요 (덜렁)ㅎㅎ 농담이에요! 칭찬해주셔서 감사드립니다 (__)

굉장히 수준높은 내용이네요예... 수준이 높다기 보다는 '고전적'이라서 지금은 공부해야 할 필요가 전연 없는 그런 컨셉이기도 하지요. 누가 요새 SPARC을 쓴다고... ㅋㅋ
기계어로 코딩을 하는 것도 굉장히 좋은 경험이라고 생각합니다. 다만... 지금 쓰고 있는 언어는 너무 낡은 감각도 없지 않아서, 다른 언어로 교수님들도 빨리 바꾸고 싶다고 하는 상황입니다.
실전을 위한 이론은 사실 굉장히 중요하겠지만, 이론을 위한 이론은 말 그대로, '이론(異論)'일 뿐입니다.