어셈블리어를 이용한 bubble sort 와 quick sort 설계 (소스코드 포함)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. Program explain
1.1. Bubble sort
1.1.1 Insertion of given number
1.1.2 Deletion of given number
1.2. Quick sort

2. Source code with comments
2.1 Bubble sort code
2.2 Quick sort code

3. Program result
3.1 Bubble sort
3.2 Quick sort

4. Discussion

본문내용

ll
li$t4,0# for( i=0 ; i<55 ; i++)
li$s055
#################
display1:
beq$t4,$s0,delete_outer
li$v0,1
lb$a0,a($t4)
syscall
li$v0,4
la$a0,space
syscall
addi$t4,$t4,1
jdisplay1
################# #---------------------------------------------#
delete_outer:#---------deleting given number start---------#
li$t3,0
li$t2,5
#################
delete:
beq$t3,$t2,out2
li$s7,0
li$s6,0
lb$t6,dele($t3)# a = dele[i]
################## if 'a' is matched with some value of array 'a'
dele_loop: # delete the matched number
lb$t9,a($s6)# and do below operation until last address of 'a'
beq$t6,$t9,delete_in# a[address of matched number]
addi$s6,$s6,1# = a[address of matched number+1]
jdele_loop
#################
delete_in:
li$s5,53
addi$t7,$s6,1
lb$t5,a($t7)# a = a[j+1]
sb$t5,a($s6)# a[j] = a
beq$s6,$s5,dele_exit# if j=212, branch 'delete_exit'
addi$s6,$s6,1# j=j+1
jdelete_in
#################
dele_exit:# make trash values '0'
li$t1,0
addi$s5,$s5,1
sb$t1,a($s5)
addi$t3,$t3,1
jdelete
#################
out2:li$v0,4#---------- deleted data printout------#
la$a0,srttxt2
syscall
li$t4,0
li$s0,50# for( i=0 ; i<50 ; i++)
#################
display2:
beq$t4,$s0,end1
li$v0,1
lb$a0,a($t4)
syscall
li$v0,4
la$a0,space
syscall
addi$t4,$t4,1
jdisplay2 #---------------------------------------------#
##################
end1:li$v0,10
syscall
3. Program result
3.1 Bubble sort
3.2 Quick sort
4. Discussion
- 코딩을 하는데 있어 c 코딩에 익숙해 있던 습관대로 짜려니 어셈블리어는 여간 불편한게 아니었다. 하지만 c로 먼저 의사코드를 작성한 다음 어셈블리어 코딩을 하는 것이 조금 더 수월하게 코딩을 하게 해준다는 것을 알 수 있었다.
- 어셈블리어 코딩을 할 때 주의해야 할 점은 라인 수의 축소에 있는 것이 아니라 루프가 얼마나 사용되는지 얼마나 가까운 것들 끼리 프로그램이 동작하는지 그리고 dependency를 얼마나 줄일수 있는지를 생각하며 코딩을 해야 한다는 것을 알 수 있었다.
- 퀵 소트를 구현하는데 있어 처음에는 숫자를 워드단위로 구성했으나 mid(중간 주소)계산을 위해서 (first주소 + last주소)/2 를 하는데 있어 정확하게 mid 계산이 되지 않음에 따라 숫자를 바이트 단위로 받아들여 코딩하였다.
  • 가격1,000
  • 페이지수8페이지
  • 등록일2008.03.16
  • 저작시기2006.5
  • 파일형식한글(hwp)
  • 자료번호#455464
본 자료는 최근 2주간 다운받은 회원이 없습니다.
  • 편집
  • 내용
  • 가격
청소해
다운로드 장바구니