본문 바로가기

지난 학기들의 기록59

[8086 어셈블리어] AND,OR,XOR,NOT 연산기 구현하기 8086 어셈블리어 AND, OR , XOR ,NOT 연산기 구현하기 이번 포스트에서는 AND,OR,XOR,NOT 연산을 실행해주는 코드를 구현해보겠습니다. 사용자로부터 사용하고싶은 연산을 선택받고, 연산할 대상 숫자를 입력받습니다. 주의해야할것은 AND, OR, XOR 연산의 경우 두가지 숫자를 입력받지만 NOT연산이 선택된 경우 한가지 숫자를 입력받습니다. 또한 메뉴선택이나 숫자입력에서 조건에 맞지않는 값이 입력되었을때 에러문구를 출력하며, 다시 사용자에게 입력을 요구합니다. 풀이코드 먼저 input_number 프로시저를 호출해서, 메뉴와 숫자를 입력받습니다. 입력 프로시저에서 bh레지스터에 메뉴값을 ch,cl레지스터에 입력숫자를 저장했습니다. 그리고 메뉴값을 비교해서 해당되는 label로 이동하게.. 2020. 12. 14.
[C실습] 동적할당 유형 분석 1 - 구조체멤버에 동적할당을 이용하여 저장하기(strncpy 활용예제) 문자열을 분리하여, 구조체멤버에 동적할당을 이용하여 저장하기 man-25-1.tistory.com/57?category=940891 [C실습] 문자열 유형 분석 2 - 포인터배열을 사용한 strtok구현하기(문자열에서 단어 분리하기) 포인터배열을 사용한 strtok함수 구현하기 문자열 string.h 헤더파일에 내장되어있는 strtok함수는 string token 즉 문자열을 단어로 쪼개주는 함수입니다. 이번 포스트에서는 strtok함수를 C언어로 구현 man-25-1.tistory.com 지난 포스트에서, 포인터배열을 통해 문자열을 단어로 분리하는 과정을 배웠습니다. 이번 동적할당 실습부분에서는 이 과정을 좀 더 심화하여서 다루게 될 것입니다. 먼저 간단한 예제를 통해 오늘 배우게 될 내용을 개념적으로.. 2020. 11. 20.
[어셈블리어] 정수의 음수표현과 캐리 & 오버플로우 - (carry and overflow) 정수의 음수표현과 캐리&오버플로우 어셈블리어를 공부하기에 앞서, 데이터를 표현하는 방법에 대해서 배우게 되었습니다. 여기서, 컴퓨터가 음수인 정수를 표현하는 방법은 사람이 생각하듯이 자유롭게 표현할수 있는 것이 아니라, 0과 1의 bit형식으로 수를 표현해야하기때문에 음수를 표현하는것이 쉽지 않은 작업이라는 것을 알게되었습니다. 그렇다면 컴퓨터는 어떻게 음수를 표현할까요? 컴퓨터가 음수를 표현하는 세가지 방법 컴퓨터는 음수를 처리하기 위해 3가지 방법을 사용할수있다고 합니다. ( 사실상 3번의 2의 보수표현을 채택했습니다.) 1. Sign Magnitude (부호 절댓값) 방식 먼저 Sign Magnitude (부호 – 절댓값) 방식입니다. 가장 쉽게 생각할 수 있는 방식으로, MSB를 1이고, 남은 부.. 2020. 10. 8.
[C실습] 문자열 유형 분석 2 - 포인터배열을 사용한 strtok구현하기(문자열에서 단어 분리하기) 포인터배열을 사용한 strtok함수 구현하기 문자열 string.h 헤더파일에 내장되어있는 strtok함수는 string token 즉 문자열을 단어로 쪼개주는 함수입니다. 이번 포스트에서는 strtok함수를 C언어로 구현해보며 이해하고 최종적으로 strtok함수를 사용하는것까지 공부해보겠습니다. 1. strtok함수를 c언어로 구현하기 먼저 구현해볼 방법은 string문자열을 입력받아서 다른 2중배열을 선언하고 단어별로 쪼개서 2중배열에 저장하는 것입니다. 아이디어 생각하기 먼저 단어를 구분짓는다는 것은 공백입니다. 따라서 공백을 기점으로 단어를 분리하는 것이 핵심 아이디어 일 것입니다. 예시를 들어 "simple is best"라는 문자열을 생각해보면 공백이 등장할때마다 단어가 끝나는것을 알수있습니다.. 2020. 10. 6.