Rational Developer for System z

심볼 어셈블러 디버그를 사용하여 어셈블러 프로그램 빌드 및 디버그

JCL 프로시저에 있는 사용자 지정 변수의 값을 전달하여 심볼 어셈블러 디버그를 통해 어셈블러 프로그램을 빌드 및 디버그할 수 있습니다.
어셈블 프로시저 ELAXFASM을 다른 ASMDEBUG 프로시저에 복사하십시오. ASMDEBUG를 편집하여 어셈블 단계에서 작성된 ADATA 파일에서 디버그 정보를 추출하는 XTRACT 단계를 추가하십시오. 다음 예제에서는 ASMDEBUG 프로시저를 보여줍니다.
//*************************************************************
//*                                                           *
//* ASMDEBUG -- SAMPLE PROCEDURE FOR ASSEMBLING HIGH LEVEL    *
//*             ASSEMBLER  PROGRAMS AND DO THE XTRACT STEP    *
//*             FOR DOING THE SYMBOLIC ASSEMBLER DEBUG.       *
//*                                                           *
//* Licensed Materials - Property of IBM                      *
//* 5724-B67                                                  *
//* (C) Copyright IBM Corp. 2003                              *
//*                                                           *
//* WebSphere Studio Enterprise Developer Options for z/OS    *
//*                                                           *
//*************************************************************
//*                                                           *
//* CUSTOMIZE THIS PROCEDURE AS PER YOUR SITE REQUIREMENTS    *
//*                                                           *
//* THIS PROCEDURE WILL BE USED BY WSED TO ASSEMBLE HIGH      *
//* LEVEL ASSEMBLER PROGRAMS.                                 *
//*                                                           *
//* CUSTOMIZATION TASKS:                                      *
//*                                                           *
//*    1) MODIFY THE LNGPRFX VALUE AS PER YOUR SITE           *
//*       REQUIREMENTS. DEFAULT VALUE IS 'SYS1'               *
//*                                                           *
//* ADDITIONAL COMMENTS:                                      *
//*                                                           *
//*       SYSIN, SYSLIN AND SYSLIB DD CARDS WILL BE PROVIDED  *
//*       BY THE GENERATION CODE.                             *
//*                                                           *
//*************************************************************
//ASMDEBUG PROC  LNGPRFX='SYS1'
//ASM EXEC PGM=ASMA90,REGION=2048K,
//             PARM=('TEST',
//             'ADATA',
//             'LIST')
//STEPLIB DD DSN=&LNGPRFX..LINKLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD  DUMMY
//SYSUT1   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT2   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT3   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT4   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT5   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT6   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT7   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//*
//SYSTERM  DD SYSOUT=*
//SYSADATA DD DSNAME=&ADATADS(&MEM),DISP=SHR
//XTRACT  EXEC PGM=EQALANGX,REGION=32M,
//   PARM='&MEM (ASM ERROR OFT IDILANGX FAULT'
//SYSADATA DD DSNAME=&ADATADS(&MEM),DISP=SHR
//IDILANGX DD DSNAME=&LANGXDX(&MEM),DISP=SHR
//*
원격 시스템을 정의하여 연결하고, MVS™ 서브프로젝트를 작성하여 특성 그룹과 연관시켰는지 확인하십시오.
  1. 연관된 특성 그룹을 편집하십시오.
  2. 어셈블러 설정 페이지에서 프로시저 및 단계를 선택하십시오.
  3. ELAXFASM을 펼치고 ASM 단계를 선택한 후 다음과 같은 어셈블러 옵션을 설정하십시오.
    어셈블러 옵션
    프로시저 이름 ASMDEBUG
    어셈블 프로시저 단계 이름 ASM
    오브젝트 데크 데이터 세트 HLQ.ASMOBJS.OBJ
    매크로 라이브러리 SYS1.MACLIB CEEV2R1M0.SCEEMAC
  4. JCL 대체를 선택하고 사용자 변수 추가 단추를 클릭하여 다음과 같은 사용자 변수를 설정하십시오.
    변수 이름 변수값
    LANGXDS HLQ.EQALANGX
    ADATADS HLQ.ASM.ADATA
  5. 글로벌 변수 삽입 단추를 클릭하여 MEM 변수를 추가하십시오.
  6. 특성 그룹을 닫은 후 저장하십시오.
  7. 서브프로젝트의 특성 창을 열고 애플리케이션 시작점을 클릭하십시오.
  8. 상위 레벨 어셈블러의 단일 선택 단추를 선택하십시오. CEESTART를 입력하십시오. 특성 변경사항을 저장하십시오.
  9. MVS 서브 프로젝트에 소스 TESTDBG를 추가하십시오. (소스는 이 창의 끝에 표시됩니다.)
  10. 지정된 로드 데이터 세트에서 TESTDBG.exe를 생성할 프로젝트를 빌드하십시오. (링크 옵션 페이지에서 특성 그룹을 열고 Link 단계를 선택하여 기본 로드 모듈 위치를 확인할 수 있습니다.)
  11. TESTDBG.exe를 마우스 오른쪽 단추로 클릭한 후 애플리케이션 디버그를 클릭하십시오. 디버거가 시작됩니다.
  12. 디버그 콘솔을 연 후 명령행에 LDD TESTDBG를 입력하십시오.
  13. 디버거에서 단계를 수행하여 어셈블러 코드를 디버그하십시오.

빌드 프로세스 중에 JCL을 생성하여 빌드를 수행하면, 특성 그룹의 JCL 대체 페이지에 지정된 변수의 작업 맨 위에 SET 문이 생성됩니다.

빌드 및 디버그용 샘플 어셈블러 프로그램

어셈블러 프로그램은 LE 사용으로 설정해야 합니다. 다음은 샘플 소스입니다.
TESTDBG  CEEENTRY PPA=MAINPPA,AUTO=WORKSIZE                             
         USING    WORKAREA,R13                                          
*                                                                       
         LA   R02,STRT_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         PACK PCKA,ZNA                                                  
         PACK PCKB,ZNB                                                  
         PACK PCKC,ZNC                                                  
         ZAP  PCKSUM,PCKA                                               
         AP   PCKSUM,PCKB                                               
         AP   PCKSUM,PCKC                                               
         MVC  OUTSUM,SUMMSK                                             
         ED   OUTSUM,PCKSUM                                             
         MVC  SUMMSG+1(8),OUTSUM                                        
         MVC  LINE_ST,SUMMSG                                            
*                                                                       
         LA   R02,LINE_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         LA   R02,DONE_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         CEETERM  RC=0                                                  
* ==============================================================        
*  Constants and Variables                                              
* ==============================================================        
ZLEN     EQU 5                                                          
PLEN     EQU ZLEN/2+1                                                   
*                                                                       
SUMMSG   DC  C'(xxxxxxxx) -- The sum    '                               
SUMMSK   DC  X'4020202020202120'                                        
ZNA      DC  ZL5'100'                                                   
ZNB      DC  ZL5'150'                                                   
ZNC      DC  ZL5'50'                                                    
*                                                                       
PCKA     DS  PL(PLEN)                                                   
PCKB     DS  PL(PLEN)                                                   
PCKC     DS  PL(PLEN)                                                   
PCKSUM   DS  PL(PLEN+1)                                                 
OUTSUM   DS  CL(L'SUMMSK)                                               
*                                                                       
MOUT     DC     V(CEEMOUT)        The CEL Message service               
*                                                                       
LINE_MSG DS     0F                                                      
         DC     AL2(LINE_END-LINE_ST)                                   
LINE_ST  DS     CL25                                                    
LINE_END EQU    *                                                       
*                                                                       
STRT_MSG DS     0F                                                      
         DC     AL2(STRT_END-STRT_ST)                                   
STRT_ST  DC     C'Starting the program.'                                
STRT_END EQU    *                                                       
*                                                                       
DONE_MSG DS     0F                                                      
         DC     AL2(DONE_END-DONE_ST)                                   
DONE_ST  DC     C'Terminating the program.'                             
DONE_END EQU    *                                                       
*                                                                       
DEST     DC     F'2'              The destination is the MSGFILE        
*                                                                       
MAINPPA  CEEPPA                                                         
* ===================================================================   
*  The Workarea and DSA                                                 
* ===================================================================   
WORKAREA DSECT                                                          
         ORG    *+CEEDSASZ                                              
PLIST    DS     0D                                                      
PARM1    DS     A                                                       
PARM2    DS     A                                                       
PARM3    DS     A                                                       
PARM4    DS     A                                                       
PARM5    DS     A                                                       
*                                                                       
FBCODE   DS     3F                                                      
*                                                                       
         DS     0D                                                      
WORKSIZE EQU    *-WORKAREA                                              
         CEEDSA                   Mapping of the Dynamic Save Area      
         CEECAA                   Mapping of the Common Anchor Area     
*                                                                       
R00      EQU   0                                                        
R01      EQU   1                                                        
R02      EQU   2                                                        
R03      EQU   3                                                        
R04      EQU   4                                                        
R05      EQU   5                                                        
R06      EQU   6                                                        
R07      EQU   7                                                        
R08      EQU   8                                                        
R09      EQU   9                                                        
R10      EQU   10                                                       
R11      EQU   11                                                       
R12      EQU   12                                                       
R13      EQU   13                                                       
R14      EQU   14                                                       
R15      EQU   15                                                       
         END   TESTDBG            

이용 약관 | 피드백

이 Information Center는 Eclipse 기술로 구현됩니다. (http://www.eclipse.org 웹사이트 참조)