여러개의 .IF 디렉티브 이용


시험성적을 입력받아 그에 해당하는 평점을 출력하는 것입니다.

INCLUDE Irvine32.inc

.data
score	DWORD ?
str1		BYTE "Enter your score : ",0
str2		BYTE "This is your grade : ",0
grade	BYTE	?

.code
main	PROC
	call	Clrscr			;화면 정리
	mov	edx,OFFSET str1
	call	WriteString		;"Enter your score : " 출력
	
	call	ReadInt			;점수 입력
	mov	score,eax			;score에 점수 저장
	
	.IF	score>=90 && score<=100
		mov	grade,'A'
		call	WriteGrade
	.ENDIF
	
	.IF	score>=80 && score<90
		mov	grade,'B'
		call	WriteGrade
	.ENDIF
	
	.IF	score>=70 && score<80
		mov	grade,'C'
		call	WriteGrade
	.ENDIF
	
	.IF	score>=60 && score<70
		mov	grade,'D'
		call	WriteGrade
	.ENDIF
	
	.IF	score<60
		mov	grade,'F'
		call	WriteGrade
	.ENDIF
	ret
main	ENDP

WriteGrade	PROC
	mov	edx,OFFSET str2
	call	WriteString
	mov	edx,OFFSET grade
	call	WriteString
	ret
WriteGrade	ENDP
END	main

C의 case에 해당하는 디렉티브를 몰라서 그냥 여러개의 .IF디렉티브로 해결했습니다.

'노트정리 > 어셈블리 책 스터디 공간' 카테고리의 다른 글

6.9.9가중확률  (0) 2010.07.13
6.9.7 부울계산기(1)  (0) 2010.07.13
6.9.5. 6.9.6 대학등록(1)(2)  (0) 2010.07.12
6.9.4 시험성적계산2 (어셈블리어)  (0) 2010.06.30
6.9.2 루프 구현  (0) 2010.06.30
색상 행렬  (0) 2010.06.14
무작위 화면 위치에 문자 출력  (0) 2010.06.13
난수 정수  (0) 2010.06.13
Posted by 공돌이pooh
,