[공학]어셈블리 합(loop사용)구하기 및 출력 대문자 소문자 변환 및 출력
- 최초 등록일
- 2006.12.20
- 최종 저작일
- 2006.01
- 16페이지/ MS 워드
- 가격 3,000원
목차
『‘1부터 100까지 합을 구하는 프로그램’을 이용하여 작성하시오.』 3
Step1-1 ) AX 레지스터와 CX 레지스터의 특성을 이용한 방법. 3
Step 1-2) 실행 화면 4
Step 1-3 ) 정 리 6
Step 1-4 ) Step1의 아쉬운 점 – 화면에 5050이란 값 출력하기 6
Step 2-1 ) 어셈러브에 있는 소스 해석함 7
Step 2-2 ) 원본소스 어셈블리시 에러 발생 확인. 8
Step 2-3 ) 기존의 Step2-1 소스를 수정 9
Step 2-4 ) 완성된 프로그램. - 1부터 100까지의 합을 구하고 화면에 출력하는 프로그램. 11
『 대문자를 소문자로 변환하는 프로그램 』 12
Step 1-1 ) 하나의 대문자를 입력 받아 소문자로 출력하는 프로그램. 12
Step 1-2 ) 어셈블리 및 실행 화면 13
Step 2-1 ) 대문자 또는 소문자를 입력 받아 대문자는 소문자로 소문자는 대문자로 변환 14
Step 2-2 ) 어셈블리 및 실행 화면 15
Step 2-3 ) Step 2 정리 15
Step 2-4 ) Step2의 아쉬운 점 15
본문내용
TITLE SUM OF 1 THROUGH 100 .MODEL SMALL ;//.MODEL 지시어 SMALL .STACK 64 ;//스택 사이즈 64KBYTE .DATA ;//.DATASUM DW ? ; 워드 단위의 SUM 변수 선언 그 값은 정해지지 않음 .CODE ;,CODEBEGIN PROC NEAR ; 프로시저 시작 NEAR는 동일한 세그먼트 사용을 뜻함 MOV AX, @data ; 데이타 세그먼트위 주소를 AX에 넣음 MOV DS, AX ; AX 레지스터의 값을 DS 레지스터에 넣음 이는 곧바로 DS에 MOV DS,@data를 사용할 수 없기에, 사용하는 방법임. MOV AX, 0 ; AX의 값을 0으로 초기화 MOV CX, 100 ; 반복할 횟수 100을 CX 레지스터에 넣음START: ADD AX, CX ; AX에 CX를 더한다 이 값은 다시 AX에 저장된다. LOOP START ; CX의 횟수가 0이 될때까지 START 라벨이 있는 명령행으로 감. MOV SUM, AX ; 1부터 100까지의 합을 SUM 변수에 MOV AH, 4CH ; RETURN TO DOS INT 21H ; 인터럽트 호출BEGIN ENDP ; 프로시저 끝 END BEGIN ;프로그램 끝
U명령을 이용하여 프로그램 된 내용을 확인 한 다음, G명령어를 이용하여 0번지부터 루프를 끝마친 번지인 F번지까지 명령을 실행하였다. F번지까지 실행하고 레지스트리의 값을 확인해보니 AX의 값이 “13BA”로 10진수 5050을 나타내며, 이는 곧 1부터 100까지의 합인 올바른 값임을 확인 할 수 있었다.
참고 자료
없음