어셈블리어로 조그만 게시판을 만들려고 합니다.
그런데 POST 방식으로 보낸 값을 어떻게 받아내야 할 지 모르겠습니다.
어셈블리어는 라이브러리가 있는 것도 아니고 근본적으로 어떻게 동작하는 지를 알아야 하는 데 아무리 찾아봐도 모르겠습니다.
p.s. 휴가 나와서 하는 짓이라고는...... ㅡ.ㅡ;;
CGI 스펙에 따라, POST로 들어오는 값은 표준 입력으로 받을 수 있습니다.
POST 데이터 인코딩 방법은 RFC 페이지 어디에 있었는데, 지금 찾으려니 안보이네요. RFC 2616의 HTTP 1.1 스펙을 잘 뒤적이면 어딘가 써있을 겁니다 ;;;
여기 있네요.
http://www.ietf.org/rfc/rfc2616.txt
9.5 섹션에서 뒤지면 될것 같네요.
혹시 x86 어셈에 대해 나온 인터넷 문서가 있을까요?
SPARC 이랑 많이 다르려나? 쩝.
좋은 연휴 보내세요. :)
//SP
여기 가보시면 됩니다.
http://world.std.com/~slanning/asm/syscall_list.html
커널이 제공하는 어셈블리 API입니다. 넘기는 레지스터값을 유심히 보시고 작업하시면 됩니다.
님이 하시는 작업이라면 이들 중에서 sys_read, sys_write가 자주 쓰이고, sys_brk, sys_mmap, sys_munmap도 동적 메모리 할당과 관련해서 쓰입니다. 이들의 레지스터 입력값과 호출을 쓰시면 됩니다. 종료시는 sys_exit를 호출합니다.
대신 malloc() 유사 기능은 님이 알아서 만드셔야 할겁니다.
참, 표준입력과 표준출력은 open() 할 필요 없이 걍 fd=0, 1로 놓고 read, write하면 끝납니다.
Written By the Black Knight of Destruction
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
CGI 스펙에 따라, POST로 들어오는 값은 표준 입력으로 받을 수 있
CGI 스펙에 따라, POST로 들어오는 값은 표준 입력으로 받을 수 있습니다.
POST 데이터 인코딩 방법은 RFC 페이지 어디에 있었는데, 지금 찾으려니 안보이네요. RFC 2616의 HTTP 1.1 스펙을 잘 뒤적이면 어딘가 써있을 겁니다 ;;;
여기 있네요.[url]http://www.ietf.org/rfc/
여기 있네요.
http://www.ietf.org/rfc/rfc2616.txt
9.5 섹션에서 뒤지면 될것 같네요.
혹시 x86 어셈에 대해 나온 인터넷 문서가 있을까요?
SPARC 이랑 많이 다르려나? 쩝.
좋은 연휴 보내세요. :)
//SP
여기 가보시면 됩니다.http://world.std.com/~sl
여기 가보시면 됩니다.
http://world.std.com/~slanning/asm/syscall_list.html
커널이 제공하는 어셈블리 API입니다. 넘기는 레지스터값을 유심히 보시고
작업하시면 됩니다.
님이 하시는 작업이라면 이들 중에서 sys_read, sys_write가 자주 쓰이고,
sys_brk, sys_mmap, sys_munmap도
동적 메모리 할당과 관련해서 쓰입니다.
이들의 레지스터 입력값과 호출을 쓰시면 됩니다. 종료시는 sys_exit를 호출합니다.
대신 malloc() 유사 기능은 님이 알아서 만드셔야 할겁니다.
참, 표준입력과 표준출력은 open() 할 필요 없이 걍 fd=0, 1로 놓고 read,
write하면 끝납니다.
Written By the Black Knight of Destruction
댓글 달기