간단한 계산 문제
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

간단한 계산 문제에 대한 보고서 자료입니다.

목차

1. 간단한 계산 문제
6. 난수의 생성
7. 문자열의 무작위 생성 및 출력
10. 문자열 복사하기
11. 문자열 거꾸로 복사하기

본문내용

mov ds,ax; ds 레지스터에 복사
call Crlf; Crlf 호출 (Crlf : 커서를 다음줄 왼쪽에 위치 시킴)
call Randomize; Randomize 호출 (Randomize : 현재 시간에 따른 난 ; 수발생기의 시드값을 난수로 할당)
mov cx,20; loop 명령을 20번 반복하기 위해 cx에 20 할당
top:
mov eax,101; eax 에 101 할당 , Random_range에 쓰일 범위 저장
call Random_range; Random_range 호출 (Random_range : eax에 무작 ; 위로 정수를 발생)
mov bx,10; 10진수 값을 얻기 위해 bx에 10 할당
call Writeint_signed; Writeint_signed 호출 (Writeint_signed : 부호있는 ; ASCII 형태로 출력)
call Crlf; Crlf 호출 (Crlf : 커서를 다음줄 왼쪽에 위치 시킴)
loop top; cx에 값을 하나 감소시키고 cx값이 0이 아니면 top ; 으로 반복
mov ah,4ch; 프로그램을 중단하고
int 21h; 제어를 운영체제로 넘김
main endp
end main
※ 출력
7. 문자열의 무작위 생성 및 출력
‘A'에서 ’Z'까지의 문자들을 무작위로 추출하여 0으로 끝나는 문자열을 만드는 프로그램을 작성하라. 링크 라이브러리의 Random_range 프로시저를 사용하고, 문자열을 출력하기 위해서 Writestring 프로시저를 사용하라
※ 프로그램 소스
title 4_7
.model small
.stack 100h
.386; 비특권 80386 명령어들의 어셈블을 가능하게 함
.data
.code
extrn Crlf:proc , Random_range:proc , Randomize:proc , Writestring:proc
; 사용할 프로시져들을 선언
main proc
mov ax,@data; 데이타 세그먼트의 주소를
mov ds,ax; ds 레지스터에 복사
call Randomize; Randomize 호출 (Randomize : 현재 시간에 따른 난 ; 수발생기의 시드값을 난수로 할당)
call Crlf; Crlf 호출 (Crlf : 커서를 다음줄 왼쪽에 위치 ; 시킴)
mov cx,5; loop 명령을 5번 반복하기 위해 cx에 5 할당
top:
mov eax,26; eax 에 26 할당 , Random_range에 쓰일 범위 저장 ; (90-65+1)
call Random_range; Random_range 호출 (Random_range : eax에 무작 ; 위로 정수를 발생)
add ax,65; ASCII코드로 출력하기 위하여 65를 더함
mov ah,2; dl내의 문자를 출력
mov dx,ax
int 21h
loop top; cx에 값을 하나 감소시키고 cx값이 0이 아니면 top ; 으로 반복
mov ah,4ch; 프로그램을 중단하고
int 21h; 제어를 운영체제로 넘김
main endp
end main
※ 출력
10. 문자열 복사하기
한 위치에서 다른 위치로 문자열을 복사하는 프로그램을 작성하라. 간접 주소를 사용하고, 복사된 문자열을 출력하라.
string db "Source string",0 ; string to be copied
dest db 80 dup(0) ; destination
※ 프로그램 소스
title 4_10
.model small
.stack 100h
.data
string db "Source string",0 ; 변수 string에 "source string"
dest db 80 dup(0) ; 변수 dest에 메모리 할당
.code
extrn Writestring:proc
; 사용할 프로시저 선언
main proc
mov ax,@data ; 데이타 세그먼트의 주소를
mov ds,ax ; ds 레지스터에 복사
mov di,offset string ; di에 string의 주소값 할당
mov bx,13 ; 문자열의 갯수 13만큼 반복
top:
mov al,[di] ; al에 di의 간접 주소 할당
mov dest[si],al ; si에 al의 저장된 주소 할당
inc di ; di가 다음 주소를 가리키도록 증가
inc si
loop top ; cx가 0이 될때까지 반복
mov dx,offset dest ; dx에 dest의 offset주소 할당
call Writestring ; dx가 지시하는 문자열을 출력
mov ah,4ch ; 프로그램을 중단하고
int 21h ; 제어를 운영체제로 넘김
main endp
end main
※ 출력
11. 문자열 거꾸로 복사하기
문자열을 거꾸로 복사하는 프로그램을 작성하라. 간접 주소를 사용하고 복사된 문자열을 출력하라.
string db "Source string'',0 ; string to be copied
dest db 80 dup(0) ; destination
※ 프로그램 소스
title 4_11
.model small
.stack 100h
.data
string db "Source string",0; 변수 string에 "source string"
dest db 80 dup(0); 변수 dest에 메모리 할당
.code
extrn Writestring:proc
main proc
mov ax,@data; 데이타 세그먼트의 주소를
mov ds,ax; ds 레지스터에 복사
mov di,offset string+12;di에 string의 마지막 주소를 가리키도록 설정
mov cx,13; 문자열의 갯수 13만큼 반복
top:
mov al,[di]; al에 di의 간접 주소 할당
mov dest[si],al; dest 배열에 al의 저장된 주소 할당
dec di; di값을 하나씩 감소
inc si; si값을 하나씩 증가
loop top; cx가 0이 될때까지 반복
mov dx,offset dest; dx에 dest의 offset 주소값 할당
call Writestring; dx가 가리키는 문자열 출력
mov ah,4ch; 프로그램을 중단하고
int 21h; 제어를 운영체제로 넘김
main endp
end main
※ 출력

키워드

계산 문제,   Readint,   Writeint,   random,   Gotoxy,   Writestring,   masm,   dos

추천자료

  • 가격1,300
  • 페이지수10페이지
  • 등록일2004.10.12
  • 저작시기2004.10
  • 파일형식한글(hwp)
  • 자료번호#270148
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니