原创 大型機彙編(HLASM)之多進程指令CS 和 CDS

   大型機彙編語言中的多進程處理是通過某些特殊指令來完成的,比如本文的CS(compare and swap)和CDS(compare double and swap),下面詳細介紹其功能。    在多進程環境中,比如在CICS環境下,

原创 大型機彙編(mainframe assembler/HLASM)之LOCTR

LOCTR--Multiple location counters 其主要作用就是爲了方便程序員編寫代碼,程序員可以把一個功能強大的程序分割成好多小的代碼段,然後在分別放在不同的PS/PDS dataset裏,而在每個dataset裏可以

原创 大型機彙編(mainframe assembler/HLASM)之LA指令

000104 5840 5060            00060  2988          L     R4,DFHEICAP     000108 4140 4000            00000  2989        

原创 大型機彙編(mainframe assembler/HLASM)之藏巧於拙

本文只說設計思想不談技術,其思想是一個老外架構師告訴我的,現在整理如下: 一般情況下,在嵌有CICS的彙編程序中,都多多少少涉及TWA(transaction work area)的概念,單從字面上就可以看出,這塊區域是在整個transa

原创 大型機彙編(mainframe assembler/HLASM)之DUMP解讀

  PSW AT TIME OF ERROR 078D0000 00007F86 078D0000 00007F86是出錯時的PSW,一般情況下,我們在乎的有CC(18-19BIT), Program Mark(20-23BIT), Ad

原创 大型機彙編(HLASM)之隨時顯示所有寄存器裏的數值

         L    R6,4(R13)                                  LA   R6,16(R6)                                  LA   R7,12   

原创 大型機彙編(mainframe assembler/HLASM)之CICS調用

一般情況下,寫一個嵌有CICS調用的HLASM程序,我們只要這樣寫就可以了:ABC      CSECT          ...          EXEC CICS ...          ...          END 這樣彙

原创 大型機彙編(mainframe assembler/HLASM)之STCK/STCKE

插個題外話,爲什麼有些程序要用匯編寫,一般來說,主要有: 1)在運算速度上有要求。比如銀行,保險類的打印某些報表,這些報表在夜間batch運行階段,可能會被數億次地調用。 2)某些程序過於依賴於底層。比如有些從文件中讀取的數據,需要在內存

原创 大型機彙編(mainframe assembler/HLASM)之中斷向量表

Linkage Macro Function SVC 00 XDAP Reads or writes direct access volumes SVC 00 EXCP Executes a channe

原创 大型機彙編(mainframe assembler/HLASM)之代碼loop篇

  從後往前檢測TMED中的每個bit是0還是1,並且根據結果從前往後給FLAGS賦值            LA    R1,3                 LA    R5,TMED+2           LA    R4,

原创 Reading LIST output(三)

The new compiler options used here are: MAP - provides a mapping of all data division items plus all implicitly declar

原创 COMP-1及COMP-2內部存儲解析

   在從事大型機的工作中,很多時候我們所做的都是讀dump,然後反向找出VSAM/QSAM數據集中的不當記錄,尤其當數據集很大的時候,精確定位一條記錄很是不便。。。而這裏介紹的利用浮點數反向查找就是一個捷徑(比如:我們在dump裏看到X

原创 大型機彙編(mainframe assembler/HLASM)之COBOL解惑

IDENTIFICATION DIVISION.             PROGRAM-ID. HELLO.                   ENVIRONMENT DIVISION.                DATA D

原创 Reading LIST output(二)

The new compiler options used in this program are: LIST - produces 8 pieces of output - Assembler listing of program i

原创 大型機彙編(mainframe assembler/HLASM)之RECFM=VBA

本程序是檢測從JCL傳過來幾個參數,然後把各個參數打印出來,比如: //C       EXEC PGM=*.B.SYSLMOD,PARM='BOBGUO,ABCDEFG'     //SYSPRINT DD  DSN=RAGJL.OUT