본문 바로가기

어셈블리어 실습3

[ 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 ] 문자열 변수 선언 & 출력 우선 SASM을 켜서 새 문서를 만듭니다. 문자열을 담는 변수 선언 data 영역에 선언해보도록 하겠습니다. 형식은 위의 그림과 같습니다. 변수명 크기 문자열, 0x00 여기서 0x00은 문자열의 끝을 의미하는 NULL값입니다. 문자열 변수 출력하기 문자열 변수를 출력하려면 PRINT_STRING 명령어를 이용합니다. 예시를 보시죠. 위에 선언한 변수들을 출력해보도록 하겠습니다. 중간에 NEWLINE은 개행문자 \n 과 같은 의미입니다. 명령어만 알면 간단하죠? 2020. 4. 15.
[ Assemble ] 어셈블리어 개요 & SASM 설치 어셈블리어란? 어셈블리어란 C나 JAVA 와 같은 사용자와 가까운 고급언어보다 기계어와 더 가까운 언어이다. 기계어와 명령어가 1:1로 대응하고, 이 기계어는 CPU 종류에 따라 달라지기 때문에 호환성이 없는 언어이다. 주로 임베디드나 커널 프로그래밍 등에 쓰인다. 어셈블리어의 특징 동일한 종류의 프로레서만 실행된다. 프로세서에 대한 사전지식이 필요하다. 메모리나 입출력장치, 레지스터 등의 구성요소를 직접 다룰 수 있다. 컴퓨터에서 실행하는 과정등을 이해하기 쉽다. 고급언어의 특징 프로세서 종류 상관X -> CPU의 종류가 달라도 코드에 지장없다. 프로세서에 대한 사전 지식이 필요없다. 문법이 비교적 간단하고 이해하기 쉽다. 코드 양이 적고 디버깅이 용이하다. 컴파일러 VS 어셈블러 - 컴파일러 고급언어.. 2020. 3. 31.