//MACRO Hash.anchor //-------------------------------------------------------------------------------------------------- // // @ CopyRight Roberti & Parau Enterprises, Inc. 2021-2023 // // This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. // To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/ // or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. // //-------------------------------------------------------------------------------------------------- // // // Get word type // eval(DVASM.getEnv()[4]); var wrd= abiWID + "WRD"; // // Generate anchor mapping // if (Label !== "") { \#label #wrd 0[0] // Start of hash anchor \#Label..vaddr #wrd 0 // Address of hash vector \#Label..prime #wrd, 0 // Prime number used for hashing \#Label..xorshift WRD 0 // Right shift for key hash \#Label..cellshift WRD 0 // Left shift to locate cell in vector } else { \ #wrd 0[2] // Memory space for HASH anchor (first two words) \ WRD 0[2] // Memory space for HASH anchor (shift values) }