리눅스 어셈블리 소트 좀 해주세요ㅠㅠ 자살직전

kabiya의 이미지

key-board를 이용하여 10개의 숫자를 입력받아 메모리에 저장한후
입력받은 숫자를 내림차순으로 정렬하여 화면에 출력한다
최대값과 최소값을 화면에 출력한다.
(프로그램 작성 시 프로시저의 사용은 금지한다.)

리눅스 nasm or gas 그외의 다른 것은 안된답니다

그리고 소스 옆에 주석 좀 달아주세요

자살직전입니다 아주 사람 미치게 하네요 ㅠㅠ

제발 도와주세요~~

익명 사용자의 이미지

숙제를 대신해줄 사람을 찾는건가요?
---
무플은 악플보다 무섭다.

익명 사용자의 이미지

숙제군요;

futari의 이미지

자살은 하지 마셔요~

-------------------------
The universe is run by the complex interweaving of three elements: matter, energy, and enlightened self-interest.
- G'kar, Babylon 5

vacancy의 이미지

어셈블리로 코딩하신다면 nasm쪽이 gas보단 나을겁니다.

근데 C로 짠다음에 assembly code를 generation하는 방법도 있긴 있죠. :twisted:

익명 사용자의 이미지

숙제할 능력이 안되면 그냥 숙제 하지 마세요

배껴서 제출하면 다른 사람 피해 봅니다

crimsoncream의 이미지

vacancy wrote:
어셈블리로 코딩하신다면 nasm쪽이 gas보단 나을겁니다.

근데 C로 짠다음에 assembly code를 generation하는 방법도 있긴 있죠. :twisted:

이런 초특급 핵심기술은 쪽지로 전달을 :wink:

오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다.
아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다.
항상 많을 것입니다.

익명 사용자의 이미지

vacancy wrote:
어셈블리로 코딩하신다면 nasm쪽이 gas보단 나을겁니다.

근데 C로 짠다음에 assembly code를 generation하는 방법도 있긴 있죠. :twisted:

이렇게 하면 거의 다 뽀록 납니다. 한두번 해본 사람이면 다 알거든요.

익명 사용자의 이미지

이런 걸로 자살하려면 숙제 하지 마세요.

나원 .. 별 ..

cdpark의 이미지

숙제 낸 놈 wrote:
vacancy wrote:
어셈블리로 코딩하신다면 nasm쪽이 gas보단 나을겁니다.

근데 C로 짠다음에 assembly code를 generation하는 방법도 있긴 있죠. :twisted:

이렇게 하면 거의 다 뽀록 납니다. 한두번 해본 사람이면 다 알거든요.

프로그램의 도를 깨치면 C 컴파일러가 내는 assembly code와 똑같은 코드를 만들 수 있습니다. :)

@ X86이나 RISC에선 힘들어도 680xx 계열에선 진짜 C 프로그램과 똑같이 만들 수 있습니다. 변수가 6개 이하라면..

cdpark의 이미지

숙제 + 중복투고! OTL

http://bbs.kldp.org/viewtopic.php?p=207724
http://bbs.kldp.org/viewtopic.php?p=207723

숙제 뿐이었다면 자살을 말리고 싶지만, 중복투고라면.. (중복답장)

Necromancer의 이미지

힌트만 드립니다.

먼저 키보드 입력은 표준입력으로 받습니다.
표준입력이 0번이므로 파일 디스크립터에다 0을 넣은 상태에서
sys_read() 시스템콜을 부르면 됩니다.

화면에 출력할때는 파일 디스크립터를 1로 한 뒤 sys_write()를 부르면 됩니다.
(꼭 printf())

sys_read() 인터페이스는 아래와 같고요.

 mov eax,3
mov ebx,(디스크립터번호, 표준입력=0)
mov ecx,(읽은 데이터가 들어갈 주소)
mov edx,(읽을 바이트수)
int 0x80

sys_write() 인터페이스 사용법니다.

mov eax,4
mov ebx,(디스크립터번호, 표준출력=1)
mov ecx,(쓸 데이터가 있는 주소)
mov edx,(쓸 바이트수)
int 0x80

이들 둘의 리턴값은 read(), write()의 리턴값입니다. (리턴값은 EAX로
돌아옵니다. 단, -1에서 -4095사이면 errno에 들어가는 에러코드입니다)

프로그램 종료는 아래 코드로 끝납니다.

  mov eax,1
mov ebx, [종료코드]
int 0x80

인터럽트 서비스는 도스에서는 int 0x21이었지만 리눅스는 int 0x80입니다.

시스템콜 어셈블리 인터페이스는 아래 사이트에서 보실 수 있습니다.
http://www.lxhp.in-berlin.de/lhpsyscal.html

assembly howto에도 리눅스에서 hello world를 출력하는 어셈블리 코드가 있습니다.

이정도까지 알려주었는데도 못하신다면 님이 하실 의지가 없다는걸로 간주하겠습니다. 그러면 하지 마십소.

Written By the Black Knight of Destruction