뉴스

새로나온 소프트웨어

출처
컴퓨터학습
잡지
컴퓨터학습1985년 11월 (제25호)
페이지
123p
카테고리
CS 뉴스 코너
비고

[동향 소식 p.123–124] 대우전자 아이큐 1000용 SUPER ASSEMBLER

  • 대우전자 아이큐 1000용 SUPER ASSEMBLERp.123–124

    SUPER ASSEMBLER는 ASSEMBLER PROGRAM를 작성할 수 있는 S/W로 PROGRAM를 DUMP 시키거나 DISASSEMBLE 하여 다른 기계어 프로그램을 수정하여 실행해 볼 수도 있읍니다.

    1. 개요

    SUPER ASSEMBLER을 사용할 수 있는 MSX의 사양은 CPU는 Z-80A를 사용하며, ROM32K, RAM 64K 이상일 경우에만 사용이 가능하다. RAM이 16K~32K일때도 사용할 수는 있는데 이때는 CARTRIDGE를 사용하였을 경우이다.

    본 SUPER ASSEMBLER는 EDITOR부분, ASSEMBLER부분, MONITOR부분, DISASSEMBLER 부분으로 나누어져 있다.

    2. MEMORY MAP

    MEMORY MAP은 MEMORY 영역의 어떤 번지가 어떻게 사용하는가를 표시하는 것이다.

    TEXT AREA(8100H~): 이 영역은 EDITOR에 의해 입력한 ASSEMBLY가 입력되는 곳으로 81H번지부터 사용된다.

    LABEL TABEL(~DFFFH): ASSEMBLE했을 때 LABEL을 등록하기 위하여 사용된다. 이 테이블은 TEXT AREA에 사용된 최후의 번지에 계속해서 사용되는데, TEXT AREA의 사용 상황에 의해서 LABEL TABEL의 개시번지가 변한다.

    FREE AREA(E000H~EDFFH): MSX SYSTEM과 SUPER ASSEMBLER의 영향을 전혀 받지 않는다. 자신의 프로그램을 실제로 넣어서 수행시키기 위해서 사용된다.

    WORK AREA(EC00H~FFFFH): SUPER ASSEMBLER와 MSX SYSTEM에서 사용하는 영역으로, 결정되어진 MEMORY의 내용을 변경해서는 안된다.

    3. SUPER ASSEMBLER의 명령들

    3-1. 프로그램 편집명령

    1) NEW: TEXT AREA의 내용을 지운다.

    2) AUTO: 행 번호가 자동으로 발생되는 명령으로 BASIC의 AUTO와 동일하다.

    3) LIST와 LLIST: TEXT 영역의 프로그램을 화면 또는 화면에 표시한다.

    4) RENUM: 행 번호를 바꾼다. BASIC의 RENUM과 동일

    5) DELETE: TEXT AREA의 행단위 소거를 한다.

    3-2. 문자열 조작 명령

    1) SEARCH와 LSEARCH: TEXT AREA에서 문자열을 검색한다. 검색하면 화면 또는 프린터로 표시된다. CTRL+STOP KEY로 중단하며, SPACE KEY로 일시 중단이 가능하다.

    2) CHANGE: 문자열을 교환한다.

    예) CHANGE ○ 문자열1 ○ 문자열2

    구문자로 문자열1에 포함하지 않는 문자면 모두 가능 문자열1을문자열2로 바꾼다.

    3-3. 명령어

    SUPER ASSEM의 EDITOR는 카세트 테이프에 SOURCE PROGRAM을 기록할 수 있으며, 카세트 테이프에 보존은 SAVE명령으로 하며, 다시 읽어들일 때는 MERGE를 사용한다.

    1) SAVE: TEXT AREA의 프로그램을 카세트 테이프에 보존한다. FILE NAME 16자까지 가능

    2) MERGE: 카세트 테이프의 SOURCE PROGRAM을 TEXT영역의 프로그램과 합성한다.

    3-4. CONTROL 명령어

    1) A: ASSEMBLER를 기동시킨다.

    2) BA: 베이직 상태로 돌아온다.

    3-5. 영역 확인 명령어

    TEXT AREA가 어느 번지를 사용하고 있는가를 표시한다.

    예) >MAP

    3-6. ASSEMBLER

    ASSEMBLER는 EDITOR로 작성한 SOURCE PROGRAM을 2PASS형식으로 ASSEMBLE한다.

    형식: >A 파라미터열

    파라미터열

    ① U: UNLIST 리스트는 출력하지 않고 ERROR행 행을 표시하여 준다.

    ② P: PRINT 리스트를 PRINTER에 출력한다. U와 조합하여 사용하면 ERROR 행을 PRINTER에 출력한다.

    ③ D: ORDER LABEL을 등록순으로 출력한다.

    ④ S: SORT LABEL을 SORT하여 출력한다.

    ⑤ R: REFFERENCE CROSS REFFERENCE 리스트를 출력한다.

    ⑥ H: HARD COPY D, S, R의 내용을 PRINTER에 출력한다.

    ⑦ I: OBJECT 프로그램을 카세트 테이프에 출력한다.

    ⑧ O: OBJECT OBJECT PROGRAM을 메모리에 작성한다.

    ⑨ A: ASSEMBLE 리스트를 표시

    4. MONITOR

    ① D개시번지, 종료번지: 개시번지부터 종료번지까지의 MEMORY내용과 해당하는 CHARACTCTER를 화면에 표시한다.

    ② V개시번지, 종료번지: D와 같으나 이것은 VIDEO RAM DUMP용이다.

    ③ P개시번지, 종료번지: DUMP한 결과를 PRINTER로 출력한다.

    ④ M번지: 지정한 번지로 DATA를 SET 한다.

    ⑤ S번지: 지정한 번지로 SOFT WARE 16진 KEY DATA를 SET

    ⑥ F시작번지, 종료번지, 데이타: 시작번지부터 종료번지 까지의 내용을 지정한 값으로 매꾼다.

    ⑦ T개시번지, 종료번지, 전송번지: 개시번지부터 종료번지까지의 내용을 전송번지에서 지정한 번지로 같은 양만큼을 옮겨준다.

    ⑧ X: 레지스터의 내용을 표시 변경한다.

    ⑨ G: 기계어 프로그램을 실행한다.

    ⑩ R: ASSEMBLER의 파라미타 1로 녹음한 테이프에 저장된 내용을 읽어들인다.

    5. DISASSEMBLER

    OBJECT CODE로 변환된 기계어 코드를 역 ASSEMBLE한다.

    ① L개시번지, 종료번지, 슬로트번호: 결과를 모니터로 출력한다.

    ② LP개시번지, 종료번지, 슬로트번호: 결과를 프린터로 출력한다.

    6. SUPER ASSEMBLER의 에러메시지

    1) OVERFLOW: RENUN, AUTO로 행번호가65535를 초과했을 경우 발생한다.

    2) OUT OF MEMORY: SOURCE PROGRAM의 길이가 TEXT 영역을 초과하거나, ASSEMBLER 사용시에 ORG로 FREE 영역 이외를 지정한 SOURCE PROGRAM을 직접 OBJECT CODE로 바꾸고자 할 경우 발생한다.

    3) ?: 잘못된 명령을 입력했을 때 발생

    4) LABEL FULL ERROR: LABEL TABEL의 영역이 충분하지 못한 경우에 발생하며, 이때는 다음의 2가지 일을 생각할 수있다.

    ① 정의한 LABEL이 많을 때

    ② CROSS REFFERENCE의 워크에어리어가 부족할 때

    5) SOURCE PROGRAM의 ERROR

    ① F: 문법에 있지 않은 기술이었을 때

    ② O: OPERAND의 지정이 부적합

    ③ Q: 존재하지 않는 명령을 사용한 경우

    ④ D: DISPLACEMENT가 범위를 초월했다.

    ⑤ M: 동일한 LABEL을 여러 장소에서 사용한 경우

    지난호에 소개한 SUPER-BASIC과 SUPER ASSEMBLER는 디스크용으로 11월초에 대우전자에서 시판될 계획이다.