인라인 어셈블리에 관한 질문입니다

변유준의 이미지

현재 ARM패치된 2.4.18 리눅스 소스에서 인라인 어셈부분만 찾아서 보는

어셈블리 공부를 시작한 학생입니다.

인라인 어셈블리는 기본형식이

__asm__(어셈블리 문자 : 출력 : 입력: 변경된 레지스터);

이런 구조로 되어있는데요

예를들어 include/asm-arm/ 밑에서 인라인 어셈문장을 찾아서 보던중

변경된 레지스터 부분에 "cc" 라고 많은 부분이 그렇게 되어있던데

cc가 무엇을 뜻하는건지 궁금합니다.

아참 궁금한게 하나 더있는데요

x86으로 구현되어있는 리눅스 소스안에 어셈블리를요

arm 어셈블리로 바꾸는 작업이 많은 어려움을 필요하게 되는지

궁금합니다

익명사용자의 이미지

cc는 뭔지 잘 모르겠지만
x86 어셈은 arm이랑 좀 차이가 있긴합니다.
arm은 RISC기반이라서요. 그래도 뭐 arm어셈 공부하다보면 별차이 없습니다.
신호 혹은 영상처리 같은 알고리즘을 다루는거라면 좀 번거로울지 모르지만
펌웨어같은거라면 명령어가 달라져도 큰차이는 없을겁니다.

그럼..

변유준의 이미지

궁금한건
ex.) mov r1, r2

AT&T 같은경우 r1에서 r2로 데이터를 옮기고
Intel 같은경우는 r2에서 r1로 옮기고 있죠

arm 아키텍처 같은경우는 어느경우인지요...

익명사용자의 이미지

arm에서도 intel과 같은데 load 랑 store는 방향이 달라질겁니다. x86어셈을 본지가 수년이 지나서 같은지 기억은 안나네요.
그리고 이런건 여기다 질문할게 아니라 책을 사서 읽어보셔야 하는 내용이죠. arm site에 가도 다 있는 내용들이고 심지어 구글이나 야후에서 검색해도 나옵니다. 심하게 들릴지 모르지만 질문이 성의가 없는거죠.

이런 질문에 대해 대답을 해줘야 되는가 잠시 고민하다가 적습니다.

sosom의 이미지

위 아래 내용이 없어서 정확한 의미를 몰라 질문하신 정확한 의미를 모르겠지만,
보통 cc라는 명령문으로 컴파일을 많이 하죠..

변유준의 이미지

다시 읽어보니 질문이 부족했던거 같네요

지적해 주셔서 고맙습니당.

좀더 확인후 올리겠습니당~

익명사용자의 이미지

http://www.arm.com/pdfs/QRC0001K_UALside1.pdf
http://www.arm.com/pdfs/QRC0001K_UALside2.pdf

arm site에 있는 기본명령들의 quick ref입니다.
말그대로 quick ref이라 복잡한 명령들은(SIMD 관련)이해가 안갈수도 있지만
기본적인 내용들은 어느정도 파악이 되리라 싶군요.
arm site에 좀더 상세하게 나온 ref가 있을지도 모르겠구요.
그럼...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.