ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IF-THEN,IF-THEN-ELSE,CASE 구현
    Programming 2009. 4. 9. 21:43

    IF-THEN

    IF-THEN 구조는 다음과 같은 의사 코드로 표현할 수 있을 것이다.

    IF 조건이 참이이면
        THEN
        참의 문장을 실행
    END_IF

    AX에 들어 있는 값을 절대 값으로 치환

    IF AX < 0
        THEN
        AX를 -AX로 바꾼다
    END_IF

    이를 어셈 코드로....

    ;IF AX < 0
        CMP AX,0          ;AX가0보다 작은가?
        JNL END_IF        ;거짓이면 빠져나가고
    ;THEN
        NEG AX             ;참이면 부호를 바꾼다.
    END_IF

    IF-THEN-ELSE

    IF 조건이 참이면
        THEN
            참의 문장을 실행하고
        ELSE

            거짓의 문장을 실행한다
    END_IF

    AL과 BL이 확장 ASCII 문자를 가지고 있다고 하자. 문자 순서에서 앞에오는 문자를 화면에 출력

    IF AL<= BL
        THEN
            AL 에 있는 문자 표시
        ELSE
            BL에 있는 문자 표시
    END_IF

    코드화..

     
    MOV AH,2
    ;IF AL <= BL
    CMP AL,BL
    JNBE ELSE_
    ;THEN
    MOV DL,AL
    JMP DISPLAY
    ELSE_:


    CASE

    CASE 표현식
    값_1 : 문장_1
    값_2 : 문장_2
    .
    .
    .
    .
    값_N : 문장_N
    END_CASE


    AX가 음수를 가지고 있으면 BX 에 -1을, AX가 0을 가지고 있으면 BX에 0을, AX가 양수를 가지고 있으면 BX에 1을 기억

    CASE    AX
    <0 : BX에 -1을
    =0 : BX에 0을
    >0 : B에 1을 넣는다.
    END_CASE


    코드..

    ;CASE    AX
    CMP AX,0           ; AX검사
    JL NEGATIVE      ;AX <0
    JE XERO            ;AX = 0
    JG POSITIVE       ;AX>0

    NEGATIVE:
    MOV BX,-1   
    JMP END_CASE  

    ZEOR:
    MOV BX,0
    JMP END_CASE

    POSITIVE:
    MOV BX,1

    END_CASE:




    728x90
    반응형

    댓글

Designed by Tistory.