From: MERC::"uunet!WKUVX1.BITNET!MacroMan" 14-APR-1993 17:53:14.76 To: MACRO32@WKUVX1.BITNET CC: Subj: Re: more alpha macro problems. In article <01GX07X8BFHY9352KJ@kopc.hhs.dk>, Arne Vajhxj writes: |>> .ascid /SHARE_DATA/ |>> |>> map_range: |>> .address share_data |>> .address share_data+<512*3> |> ^^^ |>> screen_buf: |>> .blkb 508 ; buffer containing screen update |>> = . + <512*4> - < . - share_data > |> ^^^ |> |>> $crmpsc_s inadr=map_range, flags=#sec$m_gbl!sec$m_wrt!sec$m_pagfil, - |>> gsdnam=map_name, - |>> pagcnt=#4 ; note no use of retaddr? |> ^^^^^^ |> |> |>Pages are not 512 bytes on an ALPHA ! |> |>On the current versions of the ALPHA a page is 8192 byte, but DEC has |>announced, that they may increase this later on ! |> |>So a carefull programmer will retrieve the appropriate value (any methods |>smarter than $GETSYI with SYI$_PAGE_SIZE ?). |> |> While it is true that an Alpha page is not 512 bytes, that's not the source of his ACCVIO. On Alpha, to quote from the system service reference manual: "On Alpha VMS, the addresses must be aligned on CPU-specific pages (unless the SEC$M_EXPREG flag is set); no rounding to CPU-specific pages occurs. The lower address of the _inadr_ argument must be on a CPU-specific page boundary and the higher address of the _inadr_ argument must be 1 less than a CPU-specific boundary, thus forming a range from lowest to highest address bytes. You may use the SYI$_PAGE_SIZEitem code in the $GETSYIsystem service to set the _inadr_ argument to the proper values." Further, the pagcnt argument is a count of pagelets (512-byte chunks) on Alpha so his usage in the $CRMPSC call is correct. Basically, to fix the problem, you need to to align SHARE_DATA on a CPU-specific page boundary. You also really want to read the whole description of the $CRMPSC system service. If you have it no other place, it is on the V1.0 CD in the directory [DECW$BOOK]. -R -- ----------------------------------------------------------------------------- Richard Critz critz@star.enet.dec.com -- I speak only for myself; I make no commitments for Digital. -- -----------------------------------------------------------------------------