メインフレーム総合

メインフレーム・コンピューターで遊ぼう
https://arteceed.squares.net/
アルテシード社解説動画
https://arteceed.squares.net/?page_id=2915
MVS便利帳
https://yfuku.sakura.ne.jp/mvs/mvsindex.html
IBM Z Xplore(メインフレームの学習が出来る)
https://ibmzxplore.influitive.com/forum/
BE A MAINFRAIMER
https://ore-no-mainframe-blog.hatenablog.com/entry/2017/04/30/170106
錯乱!メインフレーム設置作業
https://web.archive.org/web/20210208131117/http://aniki.kululu.net/sc/t_neta/ps/ps_293.htm

JCL関連

旧ヘラクレス

ヘラクレスな390(改)
https://web.archive.org/web/20071028071741/http://www.geocities.co.jp/SiliconValley/3090/
(ヘラクレスな390)PCでMVSを使ってみよう
https://web.archive.org/web/20031126230656/http://www.genny.or.jp/kaz/hercules/
Hercules / MVS のインストール(PCでMVSを使ってみようとほぼ同内容)
http://marunomaruno.web.fc2.com/hercules01.html#60
MVSの学習
http://ism.ism21.net/?MVS%A4%CE%B3%D8%BD%AC

ISPF・TSO


5chスレ

汎用機って何w(2025年現行)
https://itest.5ch.net/kizuna/test/read.cgi/infosys/1737976985/l5
【IT】メインフレームを知らない若者たちへ
https://kako.5ch.net/test/read.cgi/poverty/1463903251
【ISOL】日本アイ・ビー・エム・ソリューションサービス【IDCS】 [無断転載禁止] [無断転載禁止]©2ch.net
https://kizuna.5ch.net/test/read.cgi/infosys/1469855723/l50



COBOL


COBOL BIT操作 その1
2010年11月12日 06時55分50秒 | COBOL
<消してしまったので再UP>

第4次規格COBOL2002以降ではBIT操作できるようです。

COBOL Consortium(COBOLコンソーシアム)


3 章 ビット操作機能


<その1>

C'11110000'(8バイト) を X'F0'(1バイト)

C'00110001'(8バイト) を X'31'(1バイト)

にします。

<データ準備>

INPUTはEXCELで、
A1~A256に0~255を入れて、
Bn(n=1~256)に =DEC2BIN(A1,8)で作る。
  DEC2BINを使うには、2007以前のEXCELでは、
    http://okwave.jp/qa/q2495441.html

Bn(n=1~256)をコピーして、TEXTに貼り付ける。

IBM HOSTには、プライベートPO(PDS)メンバーに転送する。
FILE-CONTROL 変更する。

<サンプル ソース>
FUJITSU COBOL85使用

000010*BIT形式のキャラクタ8バイトを1バイトにする。
000020 IDENTIFICATION DIVISION.
000030 PROGRAM-ID. AAA0001.
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070 SELECT IN-FILE ASSIGN TO 'TEST03.IN.DAT'.
000080 SELECT OUT-FILE ASSIGN TO 'TEST03.OUT.DAT'.
000090 DATA DIVISION.
000100 FILE SECTION.
000110 FD IN-FILE.
000120 01 IN-REC.
000130 05 IN-DATA PIC X(008).
000140 05 IN-CRLF PIC X(002).
000150*
000160 FD OUT-FILE.
000170 01 OUT-REC.
000180 05 OUT-DATA PIC X(001).
000190*
000200 WORKING-STORAGE SECTION.
000210*
000220 01 WORK-AREA.
000230 05 WORK-CHAR8.
000240 10 W-CHAR PIC X(001) OCCURS 8.
000250*
000260 05 WORK-HEX PIC 9(004) COMP.
000270*
000280 01 HEX-CHANGE-BEFORE PIC 9(004) COMP.
000290 01 HEX-CHG-AFT REDEFINES HEX-CHANGE-BEFORE.
000300 05 FILLER PIC X(001).
000310 05 HEX-CHANGE-AFTER PIC X(001).
000320*
000330 01 END-FLG PIC X(001) VALUE '0'.
000340*
000350 01 WK-CURRENT-STA PIC X(021).
000351 01 WK-CURRENT-END PIC X(021).
000352******************************************************************
000353 PROCEDURE DIVISION.
000360 MAIN-CONTROL.
000370*
000380 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-STA.
000381 PERFORM INIT-RTN.
000390*
000400 PERFORM UNTIL END-FLG = "1"
000410 PERFORM MAIN-RTN
000420 END-PERFORM.
000430*
000440 PERFORM TERM-RTN.
000450*
000451 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-END.
000452*
000453 DISPLAY 'E N D=' WK-CURRENT-END UPON SYSOUT.
000454 DISPLAY 'START=' WK-CURRENT-STA UPON SYSOUT.
000455*
000460 STOP RUN.
000470*
000480******************************************************************
000490* *
000050*--1----+----2----+----3----+----4----+----5----+----6----+----7-*
000510 INIT-RTN.
000520 OPEN INPUT IN-FILE.
000530 OPEN OUTPUT OUT-FILE.
000540*
000550 PERFORM READ-RTN.
000560*
000570******************************************************************
000580* *
000590*--1----+----2----+----3----+----4----+----5----+----6----+----7-*
000600 MAIN-RTN.
000610*
000620 MOVE IN-DATA TO WORK-CHAR8.
000630 MOVE ZERO TO WORK-HEX.
000640*
000650 IF W-CHAR(1) = '0'
000660 THEN
000670 CONTINUE
000680 ELSE
000690 ADD 128 TO WORK-HEX
000700 END-IF.
000710*
000720 IF W-CHAR(2) = '0'
000730 THEN
000740 CONTINUE
000750 ELSE
000760 ADD 64 TO WORK-HEX
000770 END-IF.
000780*
000790 IF W-CHAR(3) = '0'
000800 THEN
000810 CONTINUE
000820 ELSE
000830 ADD 32 TO WORK-HEX
000840 END-IF.
000850*
000860 IF W-CHAR(4) = '0'
000870 THEN
000880 CONTINUE
000890 ELSE
000900 ADD 16 TO WORK-HEX
000910 END-IF.
000920*
000930 IF W-CHAR(5) = '0'
000940 THEN
000950 CONTINUE
000960 ELSE
000970 ADD 8 TO WORK-HEX
000980 END-IF.
000990*
001000 IF W-CHAR(6) = '0'
001010 THEN
001020 CONTINUE
001030 ELSE
001040 ADD 4 TO WORK-HEX
001050 END-IF.
001060*
001070 IF W-CHAR(7) = '0'
001080 THEN
001090 CONTINUE
001100 ELSE
001110 ADD 2 TO WORK-HEX
001120 END-IF.
001130*
001140 IF W-CHAR(8) = '0'
001150 THEN
001160 CONTINUE
001170 ELSE
001180 ADD 1 TO WORK-HEX
001190 END-IF.
001200*
001210 MOVE WORK-HEX TO HEX-CHANGE-BEFORE.
001220 WRITE OUT-REC FROM HEX-CHANGE-AFTER.
001230*
001240 PERFORM READ-RTN.
001250*
001260*******************************************************************
001270* *
001280**--1----+----2----+----3----+----4----+----5----+----6----+----7-*
001290 READ-RTN.
001300 READ IN-FILE AT END
001310 MOVE '1' TO END-FLG
001320 END-READ.
001330*
001340*******************************************************************
001350* *
001360*******************************************************************
001370 TERM-RTN.
001380 CLOSE IN-FILE
001390 OUT-FILE.

FUJITSU COBOL85は、ダウンロード終了してました。
3,4,5年?前にダウンロードして、確認していませんでした。

Today Fujitsu NetCOBOL compilers are only sold
at their full retail price, starting at $3,300 (USD)
  • a price that is set by the value delivered for business use.

This price is usually beyond the reach of
most students and academic institutions.
We regret that at this time we cannot offer
a product for student use.

とのことです。解ってません。
「有料でならありますが、企業向けお値段です。
 ごめんね。」ということでしょうか。

ダウンロード・インストール・使用の際は
「サルでもわかるCOBOL入門 ひよこグミ」様サイト
http://www16.plala.or.jp/hiyokogumi/
にお世話になりました。
今も操作忘れたときにお世話になってます。
感謝致します。

COBOL BIT操作 その2
2010年11月13日 03時25分43秒 | COBOL
<その2>

X'F0'(1バイト) を  C'11110000'(8バイト) と C'F0'(2バイト)

X'31'(1バイト) を  C'00110001'(8バイト) と C'31'(2バイト)

にします。

<データ準備>

  <その1> で実行したアウトプットを使用します

<サンプル ソース>

000010*1バイト を8バイトBITキャラクタヘ変換
000020 IDENTIFICATION DIVISION.
000030 PROGRAM-ID. TEST04.
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070 SELECT IN-FILE ASSIGN TO 'TEST04.IN.DAT'.
000080 SELECT OUT1-FILE ASSIGN TO 'TEST04.BIT.OUT'.
000090 SELECT OUT2-FILE ASSIGN TO 'TEST04.HEX.OUT'.
000100 DATA DIVISION.
000110 FILE SECTION.
000120 FD IN-FILE.
000130 01 IN-REC.
000140 05 IN-DATA PIC X(001).
000160*8-1----+----2----+----3----+----4----+----5----+----6----+----7-*
000170 FD OUT1-FILE.
000180 01 OUT1-REC.
000190 05 OUT1-DATA.
000191 10 OUT1-DATA-UP PIC X(004).
000192 10 OUT1-DATA-DOWN PIC X(004).
000200 05 OUT1-CRLF PIC X(002).
000220*
000230 FD OUT2-FILE.
000240 01 OUT2-REC.
000250 05 OUT2-DATA.
000251 10 OUT2-DATA-UP PIC X(001).
000252 10 OUT2-DATA-DOWN PIC X(001).
000260 05 OUT2-CRLF PIC X(002).
000270*
000280 WORKING-STORAGE SECTION.
000290 01 CON-CRLF PIC X(002) VALUE X'0D0A'.
000300*
000310 01 WORK-AREA.
000320 05 WORK-HEX-UP PIC 9(004) COMP.
000330 05 WORK-HEX-DOWN PIC 9(004) COMP.
000340*
000350 05 WORK-HEX PIC 9(004) COMP.
000360*
000370 01 HEX-CHG-BEF.
000371 05 HEX-CHANGE-LV PIC X(001).
000372 05 HEX-CHANGE-BEFORE PIC X(001).
000380 01 HEX-CHG-AFT REDEFINES HEX-CHG-BEF.
000400 05 HEX-CHANGE-AFTER PIC 9(004) COMP.
000410*
000420 01 TBL-CHANGE-DATA.
000430 05 FILLER PIC X(004) VALUE '0000'.
000440 05 FILLER PIC X(001) VALUE '0'.
000450 05 FILLER PIC X(004) VALUE '0001'.
000460 05 FILLER PIC X(001) VALUE '1'.
000470 05 FILLER PIC X(004) VALUE '0010'.
000480 05 FILLER PIC X(001) VALUE '2'.
000490 05 FILLER PIC X(004) VALUE '0011'.
000500 05 FILLER PIC X(001) VALUE '3'.
000510 05 FILLER PIC X(004) VALUE '0100'.
000520 05 FILLER PIC X(001) VALUE '4'.
000530 05 FILLER PIC X(004) VALUE '0101'.
000540 05 FILLER PIC X(001) VALUE '5'.
000550 05 FILLER PIC X(004) VALUE '0110'.
000560 05 FILLER PIC X(001) VALUE '6'.
000570 05 FILLER PIC X(004) VALUE '0111'.
000580 05 FILLER PIC X(001) VALUE '7'.
000590 05 FILLER PIC X(004) VALUE '1000'.
000600 05 FILLER PIC X(001) VALUE '8'.
000610 05 FILLER PIC X(004) VALUE '1001'.
000620 05 FILLER PIC X(001) VALUE '9'.
000630 05 FILLER PIC X(004) VALUE '1010'.
000640 05 FILLER PIC X(001) VALUE 'A'.
000650 05 FILLER PIC X(004) VALUE '1011'.
000660 05 FILLER PIC X(001) VALUE 'B'.
000670 05 FILLER PIC X(004) VALUE '1100'.
000680 05 FILLER PIC X(001) VALUE 'C'.
000690 05 FILLER PIC X(004) VALUE '1101'.
000700 05 FILLER PIC X(001) VALUE 'D'.
000710 05 FILLER PIC X(004) VALUE '1110'.
000720 05 FILLER PIC X(001) VALUE 'E'.
000730 05 FILLER PIC X(004) VALUE '1111'.
000740 05 FILLER PIC X(001) VALUE 'F'.
000000*
000750 01 TBL-DATA REDEFINES TBL-CHANGE-DATA.
000760 05 TBL-CHG OCCURS 16 TIMES.
000770 10 TBL-BIT-CHAR PIC X(004).
000780 10 TBL-HEX-CHAR PIC X(001).
000830*
000840 01 END-FLG PIC X(001) VALUE '0'.
000850*
000851 01 WK-CURRENT-STA PIC X(021).
000852 01 WK-CURRENT-END PIC X(021).
000853*
000860 PROCEDURE DIVISION.
000870 MAIN-CONTROL.
000880*
000890 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-STA.
000891 PERFORM INIT-RTN.
000900*
000910 PERFORM UNTIL END-FLG = "1"
000920 PERFORM MAIN-RTN
000930 END-PERFORM.
000940*
000950 PERFORM TERM-RTN.
000960 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-END.
000961*
000962 DISPLAY 'E N D=' WK-CURRENT-END UPON SYSOUT.
000971 DISPLAY 'START=' WK-CURRENT-STA UPON SYSOUT.
000972 GOBACK.
000980*
000990******************************************************************
001000* *
001010*8-1----+----2----+----3----+----4----+----5----+----6----+----7-*
001020 INIT-RTN.
001030 OPEN INPUT IN-FILE.
001040 OPEN OUTPUT OUT1-FILE
001041 OUT2-FILE.
001050*
001060 PERFORM READ-RTN.
001070*
001080******************************************************************
001090* *
001100*8-1----+----2----+----3----+----4----+----5----+----6----+----7-*
001110 MAIN-RTN.
001120*
001130 MOVE IN-DATA TO HEX-CHANGE-BEFORE.
001140 MOVE LOW-VALUE TO HEX-CHANGE-LV.
001150*
001710*
001720 DIVIDE 16 INTO HEX-CHANGE-AFTER GIVING WORK-HEX-UP
001721 REMAINDER WORK-HEX-DOWN.
001730*
001731 MOVE TBL-BIT-CHAR(WORK-HEX-UP + 1) TO OUT1-DATA-UP.
001732 MOVE TBL-BIT-CHAR(WORK-HEX-DOWN + 1) TO OUT1-DATA-DOWN.
001733 MOVE CON-CRLF TO OUT1-CRLF.
001734 WRITE OUT1-REC.
001740*
001741 MOVE TBL-HEX-CHAR(WORK-HEX-UP + 1) TO OUT2-DATA-UP.
001742 MOVE TBL-HEX-CHAR(WORK-HEX-DOWN + 1) TO OUT2-DATA-DOWN.
001743 MOVE CON-CRLF TO OUT2-CRLF.
001744 WRITE OUT2-REC.
001746*
001750 PERFORM READ-RTN.
001760*
001770******************************************************************
001780* *
001790*8-1----+----2----+----3----+----4----+----5----+----6----+----7-*
001800 READ-RTN.
001810 READ IN-FILE AT END
001820 MOVE '1' TO END-FLG
001830 END-READ.
001840*
001850******************************************************************
001860* *
001870*8-1----+----2----+----3----+----4----+----5----+----6----+----7-*
001880 TERM-RTN.
001890 CLOSE IN-FILE
001900 OUT1-FILE
001910 OUT2-FILE.

COBOL BIT操作 その3
2010年11月20日 00時07分39秒 | COBOL
<その3>

C'F0'(2バイト) を  X'F0'(1バイト)

C'31'(2バイト) を  X'31'(1バイト)

にします。

000010*2バイトHEXキャラを1バイトにする。
000020 IDENTIFICATION DIVISION.
000030 PROGRAM-ID. TEST05.
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070 SELECT IN-FILE ASSIGN TO 'TEST05.IN.DAT'.
000080 SELECT OUT1-FILE ASSIGN TO 'TEST05.OUT.DAT'.
000090 DATA DIVISION.
000100 FILE SECTION.
000110 FD IN-FILE.
000120 01 IN-REC.
000130 05 IN-DATA.
000140 10 IN-DATA-UP PIC X(001).
000150 10 IN-DATA-DOWN PIC X(001).
000160 05 IN-DATA-CRLF PIC X(002).
000170*
000180 FD OUT1-FILE.
000190 01 OUT1-REC.
000200 05 OUT1-DATA PIC X(001).
000210*
000220 WORKING-STORAGE SECTION.
000230 01 CON-CRLF PIC X(002) VALUE X'0D0A'.
000240*
000250 01 WORK-AREA.
000260 05 WORK-HEX.
000270 10 WORK-HEX-UP PIC X(001).
000280 10 WORK-HEX-DOWN PIC X(001).
000290*
000300 05 WORK-BIN PIC 9(004) COMP.
000310 05 WK-BIN-DATA REDEFINES WORK-BIN.
000320 10 FILLER PIC X(001).
000330 10 WK-BIN PIC X(001).
000340*
000350 05 WORK-BIN-UP PIC 9(004) COMP.
000360 05 WORK-BIN-DOWN PIC 9(004) COMP.
000370*
000380 01 TBL-CHANGE-DATA.
000390 05 FILLER PIC X(001) VALUE 'A'.
000400 05 FILLER PIC X(004) VALUE '1010'.
000410 05 FILLER PIC 9(004) COMP VALUE 10.
000420 05 FILLER PIC X(001) VALUE 'B'.
000430 05 FILLER PIC X(004) VALUE '1011'.
000440 05 FILLER PIC 9(004) COMP VALUE 11.
000450 05 FILLER PIC X(001) VALUE 'C'.
000460 05 FILLER PIC X(004) VALUE '1100'.
000470 05 FILLER PIC 9(004) COMP VALUE 12.
000480 05 FILLER PIC X(001) VALUE 'D'.
000490 05 FILLER PIC X(004) VALUE '1101'.
000500 05 FILLER PIC 9(004) COMP VALUE 13.
000510 05 FILLER PIC X(001) VALUE 'E'.
000520 05 FILLER PIC X(004) VALUE '1110'.
000530 05 FILLER PIC 9(004) COMP VALUE 14.
000540 05 FILLER PIC X(001) VALUE 'F'.
000550 05 FILLER PIC X(004) VALUE '1111'.
000560 05 FILLER PIC 9(004) COMP VALUE 15.
000570 01 TBL-DATA REDEFINES TBL-CHANGE-DATA.
000580 05 TBL-CHG OCCURS 6 TIMES.
000590 10 TBL-HEX-CHAR PIC X(001).
000600 10 TBL-BIT-CHAR PIC X(004).
000610 10 TBL-BIN-DATA.
000620 15 FILLER PIC X(001).
000630 15 TBL-BIN PIC X(001).
000640*
000650 01 IDX PIC 9(004) COMP.
000660*
000670 01 END-FLG PIC X(001) VALUE '0'.
000680*
000690 01 WK-CURRENT-STA PIC X(021).
000691 01 WK-CURRENT-END PIC X(021).
000692*
000693 PROCEDURE DIVISION.
000700 MAIN-CONTROL.
000710*
000720 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-STA.
000721 PERFORM INIT-RTN.
000730*
000740 PERFORM UNTIL END-FLG = '1'
000750 PERFORM MAIN-RTN
000760 END-PERFORM.
000770*
000780 PERFORM TERM-RTN.
000790 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-END.
000791*
000800 DISPLAY 'E N D=' WK-CURRENT-END UPON SYSOUT.
000801 DISPLAY 'START=' WK-CURRENT-STA UPON SYSOUT.
000802 STOP RUN.
000810*
000820******************************************************************
000830* *
000840******************************************************************
000850 INIT-RTN.
000860 OPEN INPUT IN-FILE.
000870 OPEN OUTPUT OUT1-FILE.
000880*
000890 PERFORM READ-RTN.
000900*
000910******************************************************************
000920* *
000930******************************************************************
000940 MAIN-RTN.
000950*
000960 MOVE IN-DATA TO WORK-HEX.
000970 MOVE ZERO TO WORK-BIN.
000980 MOVE ZERO TO WORK-BIN-UP.
000990 MOVE ZERO TO WORK-BIN-DOWN.
001000*
001010 IF WORK-HEX-UP IS NUMERIC
001020 MOVE WORK-HEX-UP TO WORK-BIN-UP
001030 ELSE
001040 PERFORM VARYING IDX FROM 1 BY 1
001050 UNTIL TBL-HEX-CHAR(IDX) = WORK-HEX-UP
001060 CONTINUE
001070 END-PERFORM
001080 MOVE TBL-BIN(IDX) TO WORK-BIN-UP
001090 END-IF.
001100*
001110 IF WORK-HEX-DOWN IS NUMERIC
001120 MOVE WORK-HEX-DOWN TO WORK-BIN-DOWN
001130 ELSE
001140 PERFORM VARYING IDX FROM 1 BY 1
001150 UNTIL TBL-HEX-CHAR(IDX) = WORK-HEX-DOWN
001160 CONTINUE
001170 END-PERFORM
001180 MOVE TBL-BIN(IDX) TO WORK-BIN-DOWN
001190 END-IF.
001200
001210 COMPUTE WORK-BIN = ( WORK-BIN-UP * 16 ) + WORK-BIN-DOWN.
001220 WRITE OUT1-REC FROM WK-BIN.
001230*
001240 PERFORM READ-RTN.
001250*
001260******************************************************************
001270* *
001280******************************************************************
001290 READ-RTN.
001300 READ IN-FILE AT END
001310 MOVE '1' TO END-FLG
001320 END-READ.
001330*
001340******************************************************************
001350* *
001360******************************************************************
001370 TERM-RTN.
001380 CLOSE IN-FILE
001390 OUT1-FILE.

*******************************************************************

'Char"A"=10進'65'
   If bytWorkUp(0) < 65 Then
      'Char"0"=10進'48'を0にする    SJIS
      bytChar(intHexIdx - 1) = (bytWorkUp(0) - 48) * 16
   Else
      'Char"A"=10進'65'を10にする  SJIS
      bytChar(intHexIdx - 1) = (bytWorkUp(0) - 55) * 16
   End If

000000*
000000 IF WORK-HEX-UP IS NUMERIC
000000 COMPUTE WORK-HEX-UP = WORK-BIN-UP - 48
000000 ELSE
000000 COMPUTE WORK-HEX-UP = WORK-BIN-UP - 55
000000 END-IF.
000000*
000000 IF WORK-HEX-UP IS NUMERIC
000000 COMPUTE WORK-HEX-UP = WORK-BIN-DOWN - 48
000000 ELSE
000000 COMPUTE WORK-HEX-UP = WORK-BIN-DOWN - 55
000000 END-IF.
000000*
000000 COMPUTE WORK-BIN = ( WORK-BIN-UP * 16 ) + WORK-BIN-DOWN.

COBOL BIT操作 その4
2010年11月20日 00時58分44秒 | COBOL
<その4>

   <その1>の別法
C'11110000'(8バイト) を X'F0'(1バイト)

C'00110001'(8バイト) を X'31'(1バイト)

にします。

000010*BIT形式のキャラクタ8バイトを1バイトにする。
000020 IDENTIFICATION DIVISION.
000030 PROGRAM-ID. TEST10.
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070 SELECT IN-FILE ASSIGN TO 'TEST10.IN.DAT'.
000080 SELECT OUT-FILE ?ASSIGN TO 'TEST10.OUT.DAT'.
000090 DATA DIVISION.
000100 FILE SECTION.
000110 FD IN-FILE.
000120 01 IN-REC.
000130 05 IN-DATA.
000131 10 IN-DATA-64 PIC X(002).
000132 10 IN-DATA-16 PIC X(002).
000133 10 IN-DATA-04 PIC X(002).
000134 10 IN-DATA-01 PIC X(002).
000140 05 IN-CRLF PIC X(002).
000150*
000160 FD OUT-FILE.
000170 01 OUT-REC.
000180 05 OUT-DATA PIC X(001).
000190*
000200 WORKING-STORAGE SECTION.
000210*
000220 01 WORK-AREA.
000230 05 WORK-CHAR8.
000240 10 W-CHAR PIC X(001) OCCURS 8.
000250*
000260 05 WORK-HEX PIC 9(004) COMP.
000270*
000280 01 HEX-CHANGE-BEFORE PIC 9(004) COMP.
000290 01 HEX-CHG-AFT REDEFINES HEX-CHANGE-BEFORE.
000300 05 FILLER PIC X(001).
000310 05 HEX-CHANGE-AFTER PIC X(001).
000320*
000330 01 END-FLG PIC X(001) VALUE '0'.
000340*
000350 01 WK-CURRENT-STA PIC X(021).
000351 01 WK-CURRENT-END PIC X(021).
000352*
000353 PROCEDURE DIVISION.
000360 MAIN-CONTROL.
000370*
000380 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-STA.
000381 PERFORM INIT-RTN.
000390*
000400 PERFORM UNTIL END-FLG = "1"
000410 PERFORM MAIN-RTN
000420 END-PERFORM.
000430*
000440 PERFORM TERM-RTN.
000450*
000451 MOVE FUNCTION CURRENT-DATE TO WK-CURRENT-END.
000452*
000453 DISPLAY 'E N D=' WK-CURRENT-END UPON SYSOUT.
000454 DISPLAY 'START=' WK-CURRENT-STA UPON SYSOUT.
000455*
000460 STOP RUN.
000470*
000480******************************************************************
000490* *
000500******************************************************************
000510 INIT-RTN.
000520 OPEN INPUT IN-FILE.
000530 OPEN OUTPUT OUT-FILE.
000540*
000550 PERFORM READ-RTN.
000560*
000570******************************************************************
000580* *
000590******************************************************************
000600 MAIN-RTN.
000610*
000620 MOVE IN-DATA TO WORK-CHAR8.
000630 MOVE ZERO TO WORK-HEX.
000640*
000641*
000650 IF IN-DATA-64 = '00'
000660 ADD 0 TO WORK-HEX
000670 ELSE
000690 IF IN-DATA-64 = '01'
000691 ADD 64 TO WORK-HEX
000692 ELSE
000693 IF IN-DATA-64 = '10'
000700 ADD 128 TO WORK-HEX
000701 ELSE
000702 IF IN-DATA-64 = '11'
000703 ADD 192 TO WORK-HEX
000704 END-IF
000705 END-IF
000706 END-IF
000707 END-IF.
000710*
000711*
000712 IF IN-DATA-16 = '00'
000713 ADD 0 TO WORK-HEX
000714 ELSE
000715 IF IN-DATA-16 = '01'
000716 ADD 16 TO WORK-HEX
000717 ELSE
000718 IF IN-DATA-16 = '10'
000719 ADD 32 TO WORK-HEX
000720 ELSE
000721 IF IN-DATA-16 = '11'
000722 ADD 48 TO WORK-HEX
000723 END-IF
000724 END-IF
000725 END-IF
000726 END-IF.
000727*
000728*
000729 IF IN-DATA-04 = '00'
000730 ADD 0 TO WORK-HEX
000731 ELSE
000732 IF IN-DATA-04 = '01'
000733 ADD 4 TO WORK-HEX
000734 ELSE
000735 IF IN-DATA-04 = '10'
000736 ADD 8 TO WORK-HEX
000737 ELSE
000738 IF IN-DATA-04 = '11'
000739 ADD 12 TO WORK-HEX
000740 END-IF
000741 END-IF
000742 END-IF
000743 END-IF.
000744*
000745 IF IN-DATA-01 = '00'
000746 ADD 0 TO WORK-HEX
000747 ELSE
000748 IF IN-DATA-01 = '01'
000749 ADD 1 TO WORK-HEX
000750 ELSE
000751 IF IN-DATA-01 = '10'
000752 ADD 2 TO WORK-HEX
000753 ELSE
000754 IF IN-DATA-04 = '11'
000755 ADD 3 TO WORK-HEX
000756 END-IF
000757 END-IF
000758 END-IF
000759 END-IF.
000761*
001200*
001210 MOVE WORK-HEX TO HEX-CHANGE-BEFORE.
001220 WRITE OUT-REC FROM HEX-CHANGE-AFTER.
001230*
001240 PERFORM READ-RTN.
001250*
001260******************************************************************
001270* *
001280******************************************************************
001290 READ-RTN.
001300 READ IN-FILE AT END
001310 MOVE '1' TO END-FLG
001320 END-READ.
001330*
001340******************************************************************
001350* *
001360******************************************************************
001370 TERM-RTN.
001380 CLOSE IN-FILE
001390 OUT-FILE.

COBOL85でBITシフト
2011年05月08日 08時31分12秒 | COBOL
①COBOL85でBITシフト

000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. BITSHIFT.
000030*
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070* SELECT INA ASSIGN TO COBIN.
000080* SELECT OUT ASSIGN TO COBOT.
000090*
000100 DATA DIVISION.
000110 FILE SECTION.
000120*FD INA
000130* LABEL RECORD IS STANDARD
000140* RECORDING MODE F.
000150*01 IN-REC PIC X(080).
000160*
000170*FD INA
000180* LABEL RECORD IS STANDARD
000190* RECORDING MODE F.
000200*01 OUT-REC PIC X(080).
000210*
000220 WORKING-STORAGE SECTION.
000230*
000240 01 TCOMP-A PIC 9(004) COMP.
000250 01 FILLER REDEFINES TCOMP-A.
000260 05 XBIT-00A PIC X(001).
000270 05 XBIT-A PIC X(001).
000280*
000290 01 TCOMP-B PIC 9(004) COMP.
000300 01 FILLER REDEFINES TCOMP-B.
000310 05 XBIT-00B PIC X(001).
000320 05 XBIT-B PIC X(001).
000330*
000340 01 TCOMP-C PIC 9(004) COMP.
000350 01 FILLER REDEFINES TCOMP-C.
000360 05 XBIT-00C PIC X(001).
000370 05 XBIT-C PIC X(001).
000380*
000390 01 TBL-HEX.
000400 05 FILLER PIC X(001) VALUE '0'.
000410 05 FILLER PIC X(004) VALUE '0000'.
000420 05 FILLER PIC X(001) VALUE '1'.
000430 05 FILLER PIC X(004) VALUE '0001'.
000440 05 FILLER PIC X(001) VALUE '2'.
000450 05 FILLER PIC X(004) VALUE '0010'.
000460 05 FILLER PIC X(001) VALUE '3'.
000470 05 FILLER PIC X(004) VALUE '0011'.
000480 05 FILLER PIC X(001) VALUE '4'.
000490 05 FILLER PIC X(004) VALUE '0100'.
000500 05 FILLER PIC X(001) VALUE '5'.
000510 05 FILLER PIC X(004) VALUE '0101'.
000520 05 FILLER PIC X(001) VALUE '6'.
000530 05 FILLER PIC X(004) VALUE '0110'.
000540 05 FILLER PIC X(001) VALUE '7'.
000550 05 FILLER PIC X(004) VALUE '0111'.
000560 05 FILLER PIC X(001) VALUE '8'.
000570 05 FILLER PIC X(004) VALUE '1000'.
000580 05 FILLER PIC X(001) VALUE '9'.
000590 05 FILLER PIC X(004) VALUE '1001'.
000600 05 FILLER PIC X(001) VALUE 'A'.
000610 05 FILLER PIC X(004) VALUE '1010'.
000620 05 FILLER PIC X(001) VALUE 'B'.
000630 05 FILLER PIC X(004) VALUE '1011'.
000640 05 FILLER PIC X(001) VALUE 'C'.
000650 05 FILLER PIC X(004) VALUE '1100'.
000660 05 FILLER PIC X(001) VALUE 'D'.
000670 05 FILLER PIC X(004) VALUE '1101'.
000680 05 FILLER PIC X(001) VALUE 'E'.
000690 05 FILLER PIC X(004) VALUE '1110'.
000700 05 FILLER PIC X(001) VALUE 'F'.
000710 05 FILLER PIC X(004) VALUE '1111'.
000720*
000730 01 TBL-HEX-R REDEFINES TBL-HEX.
000740 05 TBLHEX OCCURS 16 TIMES.
000750 10 T-HEX PIC X(001).
000760 10 T-BIT PIC X(004).
000770*
000780 01 CONV-BIT.
000790 05 CNV-BIT-LV PIC X(001).
000800 05 CNV-BIT-CHR PIC X(001).
000810 01 CONV-BIT-R REDEFINES CONV-BIT.
000820 05 CNV-BIN PIC 9(004) COMP.
000830*
000840 01 IX-UP PIC 9(004) COMP.
000850 01 IX-DW PIC 9(004) COMP.
000860*
000870 01 WK-BIT-EDIT.
000880 05 WK-BIT-UP PIC X(004).
000890 05 WK-BIT-DW PIC X(004).
000900*
000910 01 WK-HEX-EDIT.
000920 05 WK-HEX-UP PIC X(001).
000930 05 WK-HEX-DW PIC X(001).
000940*
000950*01 EOF-FLG PIC X(001) VALUE '0'.
000960****************************************************************
000970* *
000980****************************************************************
000990 PROCEDURE DIVISION.
001000* OPEN INPUT INA.
001010* OUTPUT OUT.
001020*
001030*****MOVE 255 TO TCOMP-A.
001040* ↓ここにSET
001050 MOVE X'FF' TO XBIT-A.
001060 MOVE LOW-VALUE TO XBIT-00A.
001070*
001080 MOVE XBIT-A TO CNV-BIT-CHR.
001090 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001100*
001110 DISPLAY 'XBIT-A="' XBIT-A '"'
001120 UPON SYSOUT.
001130 DISPLAY 'XBIT-A="' WK-HEX-EDIT '-' WK-BIT-EDIT
001140 UPON SYSOUT.
001150*
001160*左シフト
001170 COMPUTE TCOMP-B = TCOMP-A * 16.
001180 MOVE X'00' TO XBIT-00B.
001190 MOVE XBIT-B TO CNV-BIT-CHR.
001200 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001210*
001220 DISPLAY 'XBIT-B="' XBIT-B '"'
001230 UPON SYSOUT.
001240 DISPLAY 'XBIT-B="' WK-HEX-EDIT '-' WK-BIT-EDIT
001250 UPON SYSOUT.
001260*
001270*右シフト
001280 COMPUTE TCOMP-C = TCOMP-A / 16.
001290 MOVE X'00' TO XBIT-00C.
001300 MOVE XBIT-C TO CNV-BIT-CHR.
001310 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001320*
001330 DISPLAY 'XBIT-C="' XBIT-C '"'
001340 UPON SYSOUT.
001350 DISPLAY 'XBIT-C="' WK-HEX-EDIT '-' WK-BIT-EDIT
001360 UPON SYSOUT.
001370*
001380* CLOSE INA.
001390* OUT.
001400 GOBACK
001410****************************************************************
001420* *
001430****************************************************************
001440 BIN2HEX-SUB.
001450 MOVE LOW-VALUE TO CNV-BIT-LV.
001460 MOVE ZERO TO IX-UP.
001470 MOVE ZERO TO IX-DW.
001480*
001490 DIVIDE 16 INTO CNV-BIN
001500 GIVING IX-UP
001510 REMAINDER IX-DW
001520*
001530 MOVE T-BIT(IX-UP + 1) TO WK-BIT-UP.
001540 MOVE T-BIT(IX-DW + 1) TO WK-BIT-DW.
001550*
001560 MOVE T-HEX(IX-UP + 1) TO WK-HEX-UP.
001570 MOVE T-HEX(IX-DW + 1) TO WK-HEX-DW.
001580*
001590 BIN2HEX-SUB-EXT.
001600 EXIT.
001610



②シフトして空いた所、にBITを立ててみる
  (件数は、大体X'00'ですが。)

000990 PROCEDURE DIVISION.
001000*
001010*右2bitシフトして空いた上位bitに
001020*例えばアクセス件数
001030* 本日 X'00'…50件以下 =000
001040* 本日 X'01'…50件超~100件以下 =064
001050* 本日 X'10'…100件件超~500件以下 =128
001060* 本日 X'11'…500件超 =192
001070* を立てるとする。
001080 MOVE 255 TO TCOMP-A.
001090 COMPUTE TCOMP-C = TCOMP-A / 4.
001100 COMPUTE TCOMP-C = TCOMP-C + 0
001110 MOVE X'00' TO XBIT-00C.
001120 MOVE XBIT-C TO CNV-BIT-CHR.
001130 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001140*
001150 DISPLAY '* 本日 X'00'…50件以下 =000'
001160 UPON SYSOUT.
001170 DISPLAY 'XBIT-C=' XBIT-C '"'
001180 UPON SYSOUT.
001190 DISPLAY 'XBIT-C=' WK-HEX-EDIT '-' WK-BIT-EDIT
001200 UPON SYSOUT.
001210*
001220****************************************************************
001230 COMPUTE TCOMP-C = TCOMP-A / 4.
001240 COMPUTE TCOMP-C = TCOMP-C + 64.
001250 MOVE X'00' TO XBIT-00C.
001260 MOVE XBIT-C TO CNV-BIT-CHR.
001270 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001280*
001290 DISPLAY '* 本日 X'01'…50件超~100件以下 =064'
001300 UPON SYSOUT.
001310 DISPLAY 'XBIT-C=' XBIT-C '"'
001320 UPON SYSOUT.
001330 DISPLAY 'XBIT-C=' WK-HEX-EDIT '-' WK-BIT-EDIT
001340 UPON SYSOUT.
001350*
001360****************************************************************
001370 COMPUTE TCOMP-C = TCOMP-A / 4.
001380 COMPUTE TCOMP-C = TCOMP-C + 128.
001390 MOVE X'00' TO XBIT-00C.
001400 MOVE XBIT-C TO CNV-BIT-CHR.
001410 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001420*
001430 DISPLAY '* 本日 X'10'…100件件超~500件以下 =128'
001440 UPON SYSOUT.
001450 DISPLAY 'XBIT-C=' XBIT-C '"'
001460 UPON SYSOUT.
001470 DISPLAY 'XBIT-C=' WK-HEX-EDIT '-' WK-BIT-EDIT
001480 UPON SYSOUT.
001490****************************************************************
001500 COMPUTE TCOMP-C = TCOMP-A / 4.
001510 COMPUTE TCOMP-C = TCOMP-C + 192.
001520 MOVE X'00' TO XBIT-00C.
001530 MOVE XBIT-C TO CNV-BIT-CHR.
001540 PERFORM BIN2HEX-SUB THRU BIN2HEX-SUB-EXT.
001550*
001560 DISPLAY '* 本日 X'11'…500件超 =192'
001570 UPON SYSOUT.
001580 DISPLAY 'XBIT-C=' XBIT-C '"'
001590 UPON SYSOUT.
001600 DISPLAY 'XBIT-C=' WK-HEX-EDIT '-' WK-BIT-EDIT
001610 UPON SYSOUT.
001620*
001630 GOBACK.





<2011/05/18 追記 START>
左6シフト * 64
左7シフト * 128
は内容が壊れます。
 COMPだと
 計算で範囲を超えても、桁数に収めて再格納します。
 左5シフト *  32
         255 × 032 =  8160 は4桁SAFE
 左6シフト *  64
         255 × 064 = 16320 は5桁OUT
   16320
        00111111-11000000 だが
    6320で格納される
        00011000-10110000 =>9(04) COMP
        内容が壊れます。
 左7シフト * 128
        255 × 128 = 32640 は5桁OUT
   32640
        1111111-10000000 だが
    2640で格納
        00001010-01010000 =>9(04) COMP
        内容が壊れます。
<END>

COBOL ORD関数を使ってみた。
2012年06月24日 05時32分07秒 | COBOL
COBOL ORD関数を使ってみた。

0スタートではなく,1スタート
EXCEL =CODE("A") は、65だが、COBOL ORD関数では、66。
使用することもないと思う。初めて使いました。

EBCDIC EBCDIKでは、結果が変わると思います。
FUJITSU COBOL85使用。

000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. CNT001.
000030*
000040 ENVIRONMENT DIVISION.
000050 CONFIGURATION SECTION.
000060 SOURCE-COMPUTER. COBOL85.
000070 OBJECT-COMPUTER. COBOL85.
000080*
000090 INPUT-OUTPUT SECTION.
000100 FILE-CONTROL.
000110* SELECT IN01 ASSIGN TO "E:\COBDAT\CNT0091.TXT".
000120 SELECT OUT ASSIGN TO "C:\FSC\TEST\TESTORD\TESTORD.TXT".
000130*
000140 DATA DIVISION.
000150 FILE SECTION.
000160*FD IN01.
000170* 01 IN01-AREA.
000180* 05 IN01-REC PIC X(01).
000190*
000200 FD OUT.
000210* BLOCK CONTAINS 0 RECORD
000220* LABEL RECORD IS STANDARD.
000230 01 OUT-AREA.
000240 05 OUT-QT1 PIC X(01).
000250 05 OUT-DATA PIC X(01).
000260 05 OUT-QT2 PIC X(01).
000270 05 OUT-EQ PIC X(01).
000280 05 OUT-AAA PIC 9(04).
000290 05 OUT-CRLF PIC X(02).
000300*
000310 WORKING-STORAGE SECTION.
000320 01 DATA-A.
000330 05 DATA-9 PIC 9(004) COMP
000340 OCCURS 256 TIMES.
000350 01 DATA-B REDEFINES DATA-A.
000360 05 DATA-CHAR OCCURS 256 TIMES.
000370 10 DATA-HIG PIC X(001).
000380 10 DATA-LOW PIC X(001).
000390*
000400 01 CNT1 PIC 9(005) VALUE 255.
000410 01 CNT2 PIC S9(004) COMP-3.
000420 01 CNT3 PIC S9(004) COMP.
000430*
000440 01 IX PIC 9(004) COMP.
000450 01 CNTA PIC 9(004) COMP.
000460 01 DISP-AAA PIC 9(004).
000470******************************************************************
000480 PROCEDURE DIVISION.
000490
000500 DISPLAY CNT1.
000510 MOVE CNT1 TO CNT2 CNT3.
000520 DISPLAY CNT2.
000530 DISPLAY CNT3.
000540*
000550 COMPUTE DISP-AAA = FUNCTION ORD ("A")
000560 DISPLAY DISP-AAA UPON SYSOUT.
000570*
000580 COMPUTE DISP-AAA = FUNCTION ORD-MAX (3.4 5 6.2 9)
000590 DISPLAY DISP-AAA.
000600*
000610* OPEN INPUT IN01
000620 OPEN OUTPUT OUT.
000630*
000640 MOVE ZERO TO CNTA.
000650 PERFORM VARYING IX FROM 1 BY 1
000660 UNTIL IX > 256
000670 MOVE CNTA TO DATA-9(IX)
000680 ADD 1 TO CNTA
000690 END-PERFORM.
000700*
000710 PERFORM VARYING IX FROM 1 BY 1
000720 UNTIL IX > 256
000730 COMPUTE DISP-AAA = FUNCTION ORD(DATA-LOW(IX))
000740* DISPLAY '"' DATA-LOW(IX) '="' DISP-AAA
000750* UPON SYSOUT
000760 MOVE SPACE TO OUT-AREA
000770 MOVE '"' TO OUT-QT1
000780 MOVE DATA-LOW(IX) TO OUT-DATA
000790 MOVE '"' TO OUT-QT2
000800 MOVE '=' TO OUT-EQ
000810 MOVE DISP-AAA TO OUT-AAA
000820 MOVE X'0D0A' TO OUT-CRLF
000830 WRITE OUT-AREA
000840 END-PERFORM.
000850*
000860* CLOSE IN01
000870 CLOSE OUT.
000880*
000890 GOBACK.






" "=0001
" "=0002
""=0003

" "=0033
"!"=0034
"""=0035
"#"=0036
"$"=0037
"%"=0038
"&"=0039
"'"=0040
"("=0041
")"=0042
"*"=0043
"+"=0044
","=0045
"-"=0046
"."=0047
"/"=0048
"0"=0049
"1"=0050
"2"=0051
"3"=0052
"4"=0053
"5"=0054
"6"=0055
"7"=0056
"8"=0057
"9"=0058
":"=0059
";"=0060
"<"=0061
"="=0062
">"=0063
"?"=0064
"@"=0065
"A"=0066
"B"=0067
"C"=0068
"D"=0069
"E"=0070
"F"=0071
"G"=0072
"H"=0073
"I"=0074
"J"=0075
"K"=0076
"L"=0077
"M"=0078
"N"=0079
"O"=0080
"P"=0081
"Q"=0082
"R"=0083
"S"=0084
"T"=0085
"U"=0086
"V"=0087
"W"=0088
"X"=0089
"Y"=0090
"Z"=0091
"["=0092
"\"=0093
"]"=0094
"^"=0095
"_"=0096
"`"=0097
"a"=0098
"b"=0099
"c"=0100
"d"=0101
"e"=0102
"f"=0103
"g"=0104
"h"=0105
"i"=0106
"j"=0107
"k"=0108
"l"=0109
"m"=0110
"n"=0111
"o"=0112
"p"=0113
"q"=0114
"r"=0115
"s"=0116
"t"=0117
"u"=0118
"v"=0119
"w"=0120
"x"=0121
"y"=0122
"z"=0123
"{"=0124
"|"=0125
"}"=0126
"~"=0127
""=0128

" "=0161
"。"=0162
"「"=0163
"」"=0164
"、"=0165
"・"=0166
"ヲ"=0167
"ァ"=0168
"ィ"=0169
"ゥ"=0170
"ェ"=0171
"ォ"=0172
"ャ"=0173
"ュ"=0174
"ョ"=0175
"ッ"=0176
"ー"=0177
"ア"=0178
"イ"=0179
"ウ"=0180
"エ"=0181
"オ"=0182
"カ"=0183
"キ"=0184
"ク"=0185
"ケ"=0186
"コ"=0187
"サ"=0188
"シ"=0189
"ス"=0190
"セ"=0191
"ソ"=0192
"タ"=0193
"チ"=0194
"ツ"=0195
"テ"=0196
"ト"=0197
"ナ"=0198
"ニ"=0199
"ヌ"=0200
"ネ"=0201
"ノ"=0202
"ハ"=0203
"ヒ"=0204
"フ"=0205
"ヘ"=0206
"ホ"=0207
"マ"=0208
"ミ"=0209
"ム"=0210
"メ"=0211
"モ"=0212
"ヤ"=0213
"ユ"=0214
"ヨ"=0215
"ラ"=0216
"リ"=0217
"ル"=0218
"レ"=0219
"ロ"=0220
"ワ"=0221
"ン"=0222
"゛"=0223
"゜"=0224
" "=0225

" "=0255
" "=0256


IBM 汎用機 ASM(アセンブラ)入門書 入手方法
2010年11月03日 10時52分51秒 | 汎用機
IBM 汎用機 ASM(アセンブラ)入門書 入手方法

<20140711sta>
多分IBMの関連会社 IBM製品系の研修機関だろう

i-Learning株式会社
http://www.i-learning.jp/

z/OSプログラミング(COBOL, PL/I, REXX, アセンブラー)講座
http://www.i-learning.jp/service/it/cobol.html

アセンブラー言語 -自習方式
コースコード 24010
受講料 10,800円
(税別価格10,000円)
期間 標準学習時間: 42時間
https://www.i-learning.jp/products/detail.php?course_code=24010

OS/VSアセンブラー・プログラミング -自習方式
コースコード 24230
受講料 10,800円
(税別価格10,000円)
期間 標準学習時間: 35時間
https://www.i-learning.jp/products/detail.php?course_code=24230
.
<20140711end>


1. 日本IBMのホームページへ行く
2.「サポート&ダウンロード」 の「研修/トレーニング」を選択
3.「研修コースの検索」を選択
4.「コースのクイック検索」にてキーワード「アセンブラ」を入力し検索

2010年11月3日10:50時点

(24010)10,500円
アセンブラー言語 −自習方式

(24230)10,500円
OS/VSアセンブラー・プログラミング −自習方式

(24341)7,875円
アセンブラー使用者のためのVSAMプログラミング−自習方式

(6HA10)115,500円
Assemblerの基礎 −CD-ROMコース

(DA050) 値段? 実習
アセンブラー言語 演習

(ES260)141,750円
SMP/E for z/OS ワークショップ

(ZPC75)103,950円
Assemblerの基礎 −CD-ROMコース
.
IBM社員 IBM子関連会社社員に買わせる。コピる。


汎用機メモっとくか
https://blog.goo.ne.jp/tkhs1732
(2025年9月17日gooブログ終了により退避)

タグ:

+ タグ編集
  • タグ:
最終更新:2025年09月28日 18:48