最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

19.5.16進数形式の文字表現形式変換プログラム

[ Previous ] [ HOME ] [ Upper ] [ Next ]


パラメータPITYPEに'2'を渡すと、PBCHR1にセットされた1バイトを、2バイトのPBCHR2に16進数形式文字として返します。

パラメータPITYPEに'1'を渡すと、PBCHR2にセットされた2バイトの16進数形式文字を、1バイトのPBCHR1に返します。

1998/5/11短くしてみました。前のと、結果は同じです。b_upd.gif (283 バイト)CHAR→HEXと、HEX→CHARの両方を含んでいますので、必要な方だけ使う手もあります。

1998/11/23さらに短くしました。配列を止めて、固定情報にSCANをしました。従って、0を1番目と取りだすので、-1をします。また、割り算と余りを求める方が、ステップ数が短いので、そちらを採用しました。割り算を好まない方は、かけ算とその値から、余りを計算で求めて下さい。

     H        1   Y/                                    1
     I******************************************************
     I*     D E F I N E    C O N S T A N T                 *
     I******************************************************
     I              '0123456789ABCDEF'    C         #HEX
     I******************************************************
     I*     D E F I N E    D A T A  - S T R U C T U R E    *
     I******************************************************
     I            DS
     I I            0                     B   1   20DSBIN
     I I            ' '                       2   2 DSNBL
     IBYTE       IDS
     I                                        1   1 UPPER
     I                                        2   2 LOWER
     C******************************************************
     C*     DEFINITION MODULE  ( PLIST   FIELD   KLIST )  *:
     C******************************************************
     C           *ENTRY    PLIST                           :
     C                     PARM           PITYPE  1        :1=CC>C, 2=C>CC
     C                     PARM           PBCHR1  1        :C
     C           BYTE      PARM BYTE      PBCHR2  2        :CC
     C******************************************************
     C*             M A I N -  R O U T I N E               :
     C******************************************************
B001 C           PITYPE    CASEQ'1'       @CC2C            :CC TO C
+001 C           PITYPE    CASEQ'2'       @C2CC            :C TO CC
E001 C                     END                             :
     C*                                                    :
     C                     MOVE *ON       *INLR            :
     C******************************************************
     C*             S U B   -  R O U T I N E               :
     C******************************************************
     C*----------------------------------------------------*
     C           @CC2C     BEGSR                           :CC->C
     C*----------------------------------------------------*
     C                     MOVE *LOVAL    PBCHR1           :
     C           LOWER     SCAN #HEX:1    W1      30     70:1-16
     C   70      UPPER     SCAN #HEX:1    W2      30     70:1-16
     C*                                                    :
B001 C           *IN70     IFEQ *ON                        :
 001 C                     SUB  1         W1               :0-15
 001 C                     SUB  1         W2               :0-15
 001 C                     MULT 16        W2               :
 001 C           W1        ADD  W2        DSBIN            :
 001 C                     MOVE DSNBL     PBCHR1           :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @C2CC     BEGSR                           :C->CC
     C*----------------------------------------------------*
     C                     MOVE PBCHR1    DSNBL            :
     C           DSBIN     DIV  16        W1               :
     C                     MVR            W2
     C*                                                    :
     C                     ADD  1         W1               :
     C                     ADD  1         W2               :
     C*                                                    :
     C           1         SUBST#HEX:W1   UPPER            :
     C           1         SUBST#HEX:W2   LOWER            :
     C*                                                    :
     C                     ENDSR                           :     
 

[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送