-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8a2c4fd
Showing
10 changed files
with
1,404 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
*=========================== BITWISE ============================* | ||
* Authors: Brian D Pead | ||
* | ||
* Description: Subroutine to do bitwise operations on the | ||
* specified fields. | ||
* | ||
* License: MIT | ||
* | ||
* Date Version Description | ||
* ---- ------- ----------- | ||
* 2020-02-08 1.0 First release | ||
*================================================================* | ||
|
||
IDENTIFICATION DIVISION. | ||
*======================== | ||
|
||
PROGRAM-ID. BITWISE. | ||
|
||
ENVIRONMENT DIVISION. | ||
*===================== | ||
|
||
CONFIGURATION SECTION. | ||
*---------------------- | ||
|
||
SOURCE-COMPUTER. | ||
IBM-Z15. | ||
* IBM-Z15 DEBUGGING MODE. | ||
|
||
INPUT-OUTPUT SECTION. | ||
*--------------------- | ||
|
||
FILE-CONTROL. | ||
/ | ||
DATA DIVISION. | ||
*============== | ||
|
||
FILE SECTION. | ||
*------------- | ||
|
||
WORKING-STORAGE SECTION. | ||
*------------------------ | ||
|
||
01 W-SUB PIC S9(04) COMP. | ||
|
||
01 FILLER PIC X(01) VALUE 'Y'. | ||
88 W-FIRST-CALL VALUE 'Y'. | ||
88 W-NOT-FIRST-CALL VALUE 'N'. | ||
|
||
01 W-COMPILED-DATE. | ||
05 W-COMPILED-DATE-YYYY | ||
PIC X(04). | ||
05 W-COMPILED-DATE-MM PIC X(02). | ||
05 W-COMPILED-DATE-DD PIC X(02). | ||
05 W-COMPILED-TIME-HH PIC X(02). | ||
05 W-COMPILED-TIME-MM PIC X(02). | ||
05 W-COMPILED-TIME-SS PIC X(02). | ||
05 FILLER PIC X(07). | ||
|
||
01 W-SUB-1 PIC S9(04) COMP. | ||
01 FILLER REDEFINES W-SUB-1. | ||
05 FILLER PIC X(01) VALUE X'00'. | ||
05 W-SUB-1-2 PIC X(01). | ||
|
||
01 W-SUB-2 PIC S9(04) COMP. | ||
01 FILLER REDEFINES W-SUB-2. | ||
05 FILLER PIC X(01) VALUE X'00'. | ||
05 W-SUB-2-2 PIC X(01). | ||
|
||
COPY BITWISEW. | ||
/ | ||
LINKAGE SECTION. | ||
*---------------- | ||
|
||
01 L-PARAMETER. COPY BITWISEL. | ||
|
||
01 L-INPUT-1 PIC 9(09) COMP. | ||
01 FILLER REDEFINES L-INPUT-1. | ||
05 L-IN1-BYTE PIC X(01) OCCURS 4. | ||
|
||
01 L-INPUT-2 PIC 9(09) COMP. | ||
01 FILLER REDEFINES L-INPUT-2. | ||
05 L-IN2-BYTE PIC X(01) OCCURS 4. | ||
|
||
01 L-OUTPUT PIC 9(09) COMP. | ||
01 FILLER REDEFINES L-OUTPUT. | ||
05 L-OUTPUT-BYTE PIC X(01) OCCURS 4. | ||
/ | ||
PROCEDURE DIVISION USING L-PARAMETER. | ||
*================== | ||
|
||
MAIN. | ||
*----- | ||
|
||
PERFORM SUB-1000-START-UP THRU SUB-1000-EXIT | ||
|
||
PERFORM SUB-2000-PROCESS THRU SUB-2000-EXIT | ||
VARYING W-SUB FROM 1 BY 1 | ||
UNTIL W-SUB > BW-INPUT-LEN | ||
. | ||
MAIN-EXIT. | ||
GOBACK. | ||
/ | ||
SUB-1000-START-UP. | ||
*------------------ | ||
|
||
SET ADDRESS OF L-INPUT-1 | ||
TO BW-INPUT-1-PTR | ||
SET ADDRESS OF L-INPUT-2 | ||
TO BW-INPUT-2-PTR | ||
SET ADDRESS OF L-OUTPUT | ||
TO BW-OUTPUT-PTR | ||
|
||
IF W-NOT-FIRST-CALL | ||
GO TO SUB-1000-EXIT | ||
END-IF | ||
|
||
SET W-NOT-FIRST-CALL TO TRUE | ||
MOVE FUNCTION WHEN-COMPILED | ||
TO W-COMPILED-DATE | ||
|
||
DISPLAY 'BITWISE compiled on ' | ||
W-COMPILED-DATE-YYYY '/' | ||
W-COMPILED-DATE-MM '/' | ||
W-COMPILED-DATE-DD ' at ' | ||
W-COMPILED-TIME-HH ':' | ||
W-COMPILED-TIME-MM ':' | ||
W-COMPILED-TIME-SS | ||
. | ||
SUB-1000-EXIT. | ||
EXIT. | ||
/ | ||
SUB-2000-PROCESS. | ||
*----------------- | ||
|
||
MOVE L-IN1-BYTE(W-SUB) TO W-SUB-1-2 | ||
|
||
MOVE L-IN2-BYTE(W-SUB) TO W-SUB-2-2 | ||
MOVE W-BW-OP-VALUE(W-SUB-1 + 1, W-SUB-2 + 1) | ||
(BW-OPERATION : 1) | ||
TO L-OUTPUT-BYTE(W-SUB) | ||
. | ||
SUB-2000-EXIT. | ||
EXIT. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
*=========================== BITWISET ===========================* | ||
* Authors: Brian D Pead | ||
* | ||
* Description: Program to test subroutine BITWISE. | ||
* | ||
* License: MIT | ||
* | ||
* Date Version Description | ||
* ---- ------- ----------- | ||
* 2020-02-08 1.0 First release | ||
*================================================================* | ||
|
||
PROCESS TRUNC(BIN) | ||
|
||
IDENTIFICATION DIVISION. | ||
*======================== | ||
|
||
PROGRAM-ID. BITWISET. | ||
|
||
ENVIRONMENT DIVISION. | ||
*===================== | ||
|
||
CONFIGURATION SECTION. | ||
*---------------------- | ||
|
||
SOURCE-COMPUTER. | ||
IBM-Z15. | ||
* IBM-Z15 DEBUGGING MODE. | ||
|
||
INPUT-OUTPUT SECTION. | ||
*--------------------- | ||
|
||
FILE-CONTROL. | ||
/ | ||
DATA DIVISION. | ||
*============== | ||
|
||
FILE SECTION. | ||
*------------- | ||
|
||
/ | ||
WORKING-STORAGE SECTION. | ||
*------------------------ | ||
|
||
01 W-INPUT-1-CHARS. | ||
05 W-INPUT-1 PIC 9(09) COMP. | ||
|
||
01 W-INPUT-2-CHARS. | ||
05 W-INPUT-2 PIC 9(09) COMP. | ||
|
||
01 W-OUTPUT PIC 9(09) COMP. | ||
01 W-BITWISE-PROG PIC X(08) VALUE 'BITWISE'. | ||
01 W-HEXDUMP-PROG PIC X(08) VALUE 'HEXDUMP'. | ||
01 W-HEX-1 PIC X(08). | ||
01 W-HEX-2 PIC X(08). | ||
01 W-HEX-3 PIC X(08). | ||
|
||
01 W-OPERATIONS. | ||
05 FILLER PIC X(05) VALUE ' AND '. | ||
05 FILLER PIC X(05) VALUE ' OR '. | ||
05 FILLER PIC X(05) VALUE ' XOR '. | ||
01 FILLER REDEFINES W-OPERATIONS. | ||
05 W-OPERATION PIC X(05) OCCURS 3. | ||
|
||
01 W-COMPILED-DATE. | ||
05 W-COMPILED-DATE-YYYY | ||
PIC X(04). | ||
05 W-COMPILED-DATE-MM PIC X(02). | ||
05 W-COMPILED-DATE-DD PIC X(02). | ||
05 W-COMPILED-TIME-HH PIC X(02). | ||
05 W-COMPILED-TIME-MM PIC X(02). | ||
05 W-COMPILED-TIME-SS PIC X(02). | ||
05 FILLER PIC X(07). | ||
|
||
01 W-BITWISE-PARAMETER. COPY BITWISEL. | ||
|
||
01 W-HEXDUMP-PARAMETER. COPY HEXDUMPL. | ||
/ | ||
PROCEDURE DIVISION. | ||
*=================== | ||
|
||
MAIN. | ||
*----- | ||
|
||
PERFORM SUB-1000-START-UP THRU SUB-1000-EXIT | ||
|
||
PERFORM SUB-2000-PROCESS THRU SUB-2000-EXIT | ||
|
||
PERFORM SUB-3000-SHUT-DOWN THRU SUB-3000-EXIT | ||
. | ||
MAIN-EXIT. | ||
STOP RUN. | ||
/ | ||
SUB-1000-START-UP. | ||
*------------------ | ||
|
||
MOVE FUNCTION WHEN-COMPILED | ||
TO W-COMPILED-DATE | ||
|
||
DISPLAY 'BITWISET compiled on ' | ||
W-COMPILED-DATE-YYYY '/' | ||
W-COMPILED-DATE-MM '/' | ||
W-COMPILED-DATE-DD ' at ' | ||
W-COMPILED-TIME-HH ':' | ||
W-COMPILED-TIME-MM ':' | ||
W-COMPILED-TIME-SS | ||
. | ||
SUB-1000-EXIT. | ||
EXIT. | ||
/ | ||
SUB-2000-PROCESS. | ||
*----------------- | ||
|
||
MOVE 1 TO W-INPUT-1 | ||
MOVE 2 TO W-INPUT-2 | ||
SET BW-OPERATION-AND TO TRUE | ||
|
||
PERFORM SUB-9100-CALL-BITWISE THRU SUB-9100-EXIT | ||
|
||
SET BW-OPERATION-OR TO TRUE | ||
|
||
PERFORM SUB-9100-CALL-BITWISE THRU SUB-9100-EXIT | ||
|
||
MOVE 2808555105 TO W-INPUT-1 | ||
MOVE 3 TO W-INPUT-2 | ||
SET BW-OPERATION-OR TO TRUE | ||
|
||
PERFORM SUB-9100-CALL-BITWISE THRU SUB-9100-EXIT | ||
|
||
SET BW-OPERATION-XOR TO TRUE | ||
|
||
PERFORM SUB-9100-CALL-BITWISE THRU SUB-9100-EXIT | ||
|
||
MOVE 255 TO W-INPUT-1 | ||
MOVE X'FFFFFFFF' TO W-INPUT-2-CHARS | ||
|
||
PERFORM SUB-9100-CALL-BITWISE THRU SUB-9100-EXIT | ||
. | ||
SUB-2000-EXIT. | ||
EXIT. | ||
/ | ||
SUB-3000-SHUT-DOWN. | ||
*------------------- | ||
|
||
DISPLAY 'BITWISET completed' | ||
. | ||
SUB-3000-EXIT. | ||
EXIT. | ||
/ | ||
SUB-9100-CALL-BITWISE. | ||
*---------------------- | ||
|
||
SET BW-INPUT-1-PTR TO ADDRESS OF W-INPUT-1 | ||
SET BW-INPUT-2-PTR TO ADDRESS OF W-INPUT-2 | ||
MOVE LENGTH OF W-INPUT-1 | ||
TO BW-INPUT-LEN | ||
SET BW-OUTPUT-PTR TO ADDRESS OF W-OUTPUT | ||
|
||
CALL W-BITWISE-PROG USING W-BITWISE-PARAMETER | ||
|
||
PERFORM SUB-9110-DISPLAY THRU SUB-9110-EXIT | ||
. | ||
SUB-9100-EXIT. | ||
EXIT. | ||
/ | ||
SUB-9110-DISPLAY. | ||
*----------------- | ||
|
||
SET HD-INPUT-PTR TO ADDRESS OF W-INPUT-1 | ||
MOVE LENGTH OF W-INPUT-1 | ||
TO HD-INPUT-LEN | ||
SET HD-OUTPUT-PTR TO ADDRESS OF W-HEX-1 | ||
|
||
CALL W-HEXDUMP-PROG USING W-HEXDUMP-PARAMETER | ||
|
||
SET HD-INPUT-PTR TO ADDRESS OF W-INPUT-2 | ||
MOVE LENGTH OF W-INPUT-2 | ||
TO HD-INPUT-LEN | ||
SET HD-OUTPUT-PTR TO ADDRESS OF W-HEX-2 | ||
|
||
CALL W-HEXDUMP-PROG USING W-HEXDUMP-PARAMETER | ||
|
||
SET HD-INPUT-PTR TO ADDRESS OF W-OUTPUT | ||
MOVE LENGTH OF W-OUTPUT TO HD-INPUT-LEN | ||
SET HD-OUTPUT-PTR TO ADDRESS OF W-HEX-3 | ||
|
||
CALL W-HEXDUMP-PROG USING W-HEXDUMP-PARAMETER | ||
|
||
DISPLAY 'X''' | ||
W-HEX-1 | ||
'''' | ||
W-OPERATION(BW-OPERATION) | ||
'X''' | ||
W-HEX-2 | ||
''' = X''' | ||
W-HEX-3 | ||
'''' | ||
. | ||
SUB-9110-EXIT. | ||
EXIT. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Changelog | ||
|
||
## v1.0 - 8-Feb-2020 | ||
|
||
First release |
Oops, something went wrong.