Homeworks             

번호
출제및 제출일
내용
상태
프로그램
주의사항
#1
출제일: 3월 3쨋주 첫번째 수업일
제출일: 3월 4쨋주 첫번째 수업일
보기
제출마감
 
 
#2
출제일: 4월 3쨋주 두번째 수업일
제출일: 4월 5쨋주 두번째 수업일
보기
제출마감
 
 
#3
출제일: 5월 2쨋주 두번째 수업일
제출일: 5월 3쨋주 두번째 수업일
보기
5월 15일까지
tc20.arj
주의#3
#4
출제일: 5월 5쨋주 첫번째 수업일
제출일: 6월 1쨋주 두번째 수업일
보기
6월 5일 까지
 
 
 


    #1.
      여기를 참조하여 변수명에 자신의 학번을 두자릿수씩 입력하고 합을 구하는 프로그램을 작성하고
      debug 를 이용하여 합이 구하여짐을 보여라

         예) 자신의 학번이 9741028 일경우

          A     DW     09
          B     DW     74
          C     DW     10
          D     DW     28
          SUM   DW     ?
     
     
      합은 debug 상에서 모든 학번을 더한 후 SUM 값을 display 하고 이 화면을 capture 해올것.

       
       

    #2.
      4장 연습문제 8, 9, 10 번 프로그램을 작성 실행하여 결과화면을 capture 해올것.
      (위 문제는 debug 를 이용하여 실행하지 말고 직접 실행하여 화면을 capture 해 오기 바람)

      예) 4장 8번 문제

       
       
    •  실행화면 capture 하는 법
      •  
      • 프로그램이 실행되는 있는 DOS 화면을 mouse 로 click 하여 activation 시킨다.
      • Alt 키와 PrintScreenSysRq 키를 동시에 누른다.
      • hwp 에서 편집 밑에 붙이기 메뉴를 누른다. (혹은 Ctrl 키와 v 키를 동시에 누른다)

      •  
    #3.
      자신의 학번 마지막 4자릿수를 십진수로 입력하고 이를 이진수및 16진수로 출력하는 프로그램을
      작성하고 수행되는 화면을 capture 해 올것.
      단 4자릿수 십진수 입력은 C 로 프로그램하고 이진수 및 16진수 출력은 assembly 로 프로그램하라.
      이때 C에서 assembly 로 파라메터의 전달은 스택을 이용하라.
      C 와 assembly 언어를 혼합하여 프로그램하는 방법여기를 참조할것.

      예) 자신의 학번이 9741054 일경우

         
      • hw3.c 의 이름으로 십진수 입력 프로그램 작성
      • hw32.asm 의 이름으로 이진수 및 16진수 출력 프로그램 작성
      • tcc hw3.c hw32.asm (return) 실햄화일 만듦
      • hw3.exe (return ) 실행
      • 실행화면

     #4.
      자신의 학번을 화면과  같이 출력하는 프로그램을 2차원 배열로 데이타를 선언하여 작성하라.
      단 두개의 출력 형태를 하나의 프로시져로 작성하고 MAIN 프로시져에서 스택을 이용하여
      0 을 넘겨주었을 경우에는 첫번째 형태, 1을 넘겨 주었을 경우에는 두번째 형태로 출력하게 하라.

      예) 자신의 학번이 9741054 일경우
       

      • hw4.asm 을 작성
      • 이때 2차원 배열은 다음과 같이 잡을것.
         
        .DATA
        TMP DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH
            DB  10 dup ('-'), 0DH,0AH,'$'
        STN DB  '9741054'
         

        MAIN 프로시져에서 출력 프로시져 OUT_STR 을 다음과 같이 호출할것.
         
         
                MOV     AX,0
                PUSH    AX
                CALL    OUT_STR
                POP     AX

                MOV     AX,1
                PUSH    AX
                CALL    OUT_STR
                POP     AX

         

      • 실행화일 만들어 실행
      • 실행 화면


주의 사항

    주의 #3.
     
    • c 프로그램 이름과 assembly 프로그램 이름을 다르게 줄것.

    •  
      • hw3.c 와 hw3.asm 으로 프로그램후 tcc hw3.c hw3.asm 하면

      • hw3.c 가 hw3.obj 으로 hw3.asm 이 hw3.obj 으로 동일한 .obj code 를 생성함으로
        hw3.c 의 hw3.obj 이 파괴됨.

        그러므로 hw3.c hw32.asm 과 같이 다르게 주어서 tcc hw3.c hw32.asm 으로 수행할것.
         

    • tcc 에서 include directory 와 lib directory 지정시 -I 와 -L 은 반드시 대문자 이어야함.

    •  
      • tcc -ic:\tc20\include -lc:\tc20\lib 하면 안됨.
      • tcc -Ic:\tc20\include -Lc:\tc20\lib 로 고칠것.

      •  
    • 위의 두가지를 수행하여도 안될경우 tc 가 잘못 install 된것일 가능성이 큼으로 tc20.arj 를 받아서 수행할것
    •  tc20.arj 를 download 받아서 압축을 풀고 해당 디렉토리에서 수행할것.