3270 총 정리

아이작·2022년 3월 28일
0

CS 공부

목록 보기
9/10

3270 총 정리

목차:

  1. 3270이란?
  2. 3270 스펙
    a. 데이터 구조
    b. 각

3270 protocol 이란?

IBM 컴퓨터가 사용하는 protocol.

옛날 IBM 컴퓨터가 데이터를 주고 받고 이를 디스플레이에 어떻게 표현하는지에 관한 통신 규약.

display 출력: 한 줄당 80 문자, 24줄 표현가능. maxium 1920 문자 표시

3270 스펙

												3270 패킷   

패킷 구조

3270은 8비트(1바이트)를 16진수로 표현하여, 정보를 나타낸다.

각 값의 종류

  • 전체 스트림의 명령어(읽기, 쓰기, 지우기), 쓰기 명령어 옵션
  • 화면에 보이는 데이터 값
  • 화면에 보이지 않는 데이터 값 --> 화면에 보이는 데이터에 대한 속성을 정의 ex) 색, 강조, 깜박임 등등
    a. 조작할 속성을 선언 ex) 42 -> foreground color 를 조작하겠다!
    b. a에서 언급한 속성에 값을 부여. ex) 00 -> 기본값 즉) 42 00 --> foreground color 를 기본값으로 설정하겠다!

Data stream Format

  1. outbound data stream:
    a. Command-WCC-Data
    b. WSF(write structured field)-Structured field-.......-Structured filed

WCC 는 write command type에만 사용된다!

  1. inbound data stream : device -> application program
    a. AID(atention identifier) -Cursor address-data(optional)
    b. AID-Structured fields

우리가 파악해야 할 것은, Command Code, WCC, Field 이다.

  • Command Code: 데이터를 주고 받을 때, 사용하는 명령어.

Write: X'F1'
Erase/Write: X'F5'
Erase/Write Alternate: X'7E'
Read Modified: X'F6'
Write Structured File: X'F3'

  • WCC (Write control character): write 타입의 커맨드 뒤에 붙어서, 해당 스트림(프로토콜 전체)의 목표를 말한다.

1바이트(8비트)로 각 자리의 수가 목적을 나타낸다.

1... .... = WCC NOP: True
.1.. .... = WCC Reset: True --- 리셋-> 시스템 정의된 디폴트로 리셋
..1. .... = WCC Printer1: True -- 1번 프린터 전원 통제
...0 .... = WCC Printer2: False -- 2번 프린터 전원 통제
.... 1... = WCC Start Printer: True --- 프린터 시작
.... .1.. = WCC Sound Alarm: False --- at the end of operation 타이밍에 알람소리 출력
.... ..1. = WCC Keyboard Restore: True -- 키보드 락 해제
.... ...0 = WCC Reset MDT: False -- 캐릭터 버퍼에 존재하는 필드 속성값의 MDT(Modified Data Tag)를 초기화

* 리셋 기능이 되지 않는다면, 0,1번 비트는 WCC 바이트를 EBCDIC(IBM 스펙에 맞는 8비트 문자열 )/ASCII 로 전환가능하게 만드는 기능. 

* 리셋 기능이 된다면, 1번 비트가 reset을 통제하고, 0번 비트는 기능이 없다. 
이때는, 바이트 전환기능이 되지 않기에 아스키 코드를 제공할 수 없다 

  • DATA

command code, wcc 는 1개씩만 등장한다. 이후 패킷들은 전부 여기에 해당한다.

두가지 종류

(orders + 파라미터) 조합이 반복되는 데이터 구조이다.

  1. Orders

특정 필드를 조작하는 명령어.

명령어16진수 값파라미터1파라미터2파라미터3
SF1DAttribute Character
SBA11Address Byte 1Address Byte 2
IC13
PT05
RA3CAddress Byte 1Address Byte 2Address Byte3
EUA12Address Byte 1Address Byte 2
SFE29Number of Attribute Pairstype/value pairs
SA28Attribute typeAttribute Value
MF2CNumber of attribute pairsAttribute typeAttribute Value
  • SF(start field): 각 필드는 크기가 다르다. 각 필드의 시작임을 알리는 명령어이다.

  • SBA(set buffer address): 다음에 오는 데이터의 디스플레이상의 row, col 위치를 나타낸다.

  • IC(insert Cursor): 현재 버퍼위치에 커서를 놓는다. IC 명령어가 여러개라면, 가장 마지막의 IC 명령어를 따른다.

  • PT(Program Tab) : 버퍼의 위치를 다음 unprotected 영역의 첫번째 "문자" 위치로 이동한다. 버퍼 내용을 수정할 때 사용된다. PT 가 command, order, order sequence 를 따르지 않는다면, 해당 버퍼의 위치부터 필드의 끝까지 null 로 수정된다.

  • RA(Repeat To Address): 위치를 설정하고, 해당 위치부터 반복될 문자를 지정.

  • EUA(Erase Unprotected To Address): 현재 버퍼위치부터, ending point 버퍼까지 unprotected 를 전부다 null 로 만든다.

  • SA (set attribute): 속성을 추가한다.

  • SFE(start field extended) : SF 와 마찬가지로 필드의 시작을 알림과 함께, 깜빡임, 반전, 밑줄, 확장 색깔을 지원한다.

  • MF(Modified field): 복수 필드의 속성을 한번에 변경한다.
  1. 파라미터
    1. attribute type ----속성
      a. field attribute
      b. extended attribute
      c. character attribute
    2. attribute value ----속성값

1. field attribute: 필드 전체의 속성값을 정의한다.

field attribute type = X'c0' 고정
field attribute value = 8비트의 값에 따라 필드의 속성이 달라진다.

11.. .... 0,1 번 비트는 EBCDIC/ASCII 해석 가능한 필드를 만드는데 사용.
..1. .... unprotected / protected 수정 불가/ 수정 가능
...1 .... numeric / AlphaNumeric 숫자/문자 필드
.... 1...
.... .1..
4,5번 비트는 같이 조합되어 값을 나타낸다.

          ``` 00 -> 디스플레이 강조 보통, light pen 탐지 불가 
           01 -> 디스플레이 강조 보통, light pen 탐지 가능 
           10 -> 디스플레이 강조, light pen 탐지 **가능**
           11 -> 필드 데이터 출력 X 
           light pen 은 대부분 사용하지 않는다함. 
 .... ..0.  항상 0 이다. 
 .... ...1  Modified Data Tag) MDT 
            해당 필드가 수정될 경우 1로 설정, 3270은  기본적으로 수정된 필드로만 스트림 구성.  

2. extended attribute: 위 필드속성값 이외 속성을 정의

색, character set, 유효성, 강조, 밑줄 기능

  • Extended Highting(X'41'): 강조 기능
    1. 00 defalut
    2. F1 blink. 깜박임
    3. F2 Reverse video
    4. F4 Underscore
  • Foreground Color(X'42'): foreground 색 설정

  • background Color(X'45'): background 색 설정

    색 value

ColorID
Default00
NeutralF0
BlueF1
RedF2
PinkF3
GreenF4
TurquoiseF5
YellowF6
NeutralF7
BlackF8
Deep BlueF9
OrangeFA
PurpleFB
Pale GreenFC
Pale TurquoiseFD
GreyFE
WhiteFF
  • validation (X'c1')

  • Outlininig (X'c2')

  • Character set(X'43')

  • Transparency (X'46')

3. character attribute: 필드가 아닌, 특정 문자에만 속성을 정의한다.

정의할 수 있는 속성값은 extended attribute 와 같다.

0개의 댓글