본문 바로가기

어셈블리어 입력2

[ Assemble ] 어셈블리 입력 매크로함수 SASM 환경에서 진행합니다. GET_DEC, GET_HEX으로 10진수,16진수 입력받기 형식은 이러합니다. GET_DEC 입력할 바이트 수, 입력 받을 곳 GET_HEX 입력할 바이트 수, 입력 받을 곳 입력받을 곳은 레지스터가 될 수도 있고, 메모리 주소가 될 수도 있습니다. 위의 예시로는 a 주소에 1바이트만큼 입력을 받겠네요. 입력받고 출력하는 프로그램 방금 배운 GET_DEC 을 이용해서 간단한 프로그램을 짜봅시다. 바로 보이죠? GET_DEC : 10진수 입력 받는 매크로 PRINT_DEC : 10진수 출력하는 매크로 둘다 파라미터로 크기와 대상이 되는 장소를 필요로합니다. 2020. 4. 15.
[ Assemble ] 어셈블리어 출력, add 연산, imul 연산실습 어셈블러는 SASM을 이용했다. 실습을 하기 위해 새로운 프로젝트 파일을 하나 생성해보겠다. ctrl+n 키를 눌러 새 파일을 생성한다. 파일을 새로 생성하면 나와 같이 뜨지 않을 수도 있다. 그렇지만 공통적으로 section .text 밑에 코드를 쓰고, global CMAIN CMAIN: 와 같은 (다른 언어에서의 main()과 같은 존재) 문자 밑에서부터 프로그래밍을 할것이다. 안에 기본적으로 xor 과 ret 이라는 연산이 보인다. xor 연산은 둘이 같으면 0, 다르면 1 을 반환해주는 연산자이고 ret 은 C 에서의 return 과 같다. main 마지막 부분에 return 0; 를 해주는 것이라 이해하면 쉽다. 어셈블리어에서는 레지스터라는 개념이 빠질 수 없다. 다음 포스팅은 우리가 어셈블리.. 2020. 3. 31.