On Jan 17, 2012, at 05:31, Fred van der Windt wrote: >> Having the CLC near the EX helps for cache. I also like to assemble it >> in-line because the right USINGs apply. We noticed that it is >> attractive to run over the CLC (with the length byte 0 as assembled) >> and then EX behind your back to do the real thing. More attractive >> than branch over the target if the instruction lets you. > > The USING-issue is a strong argument in favor of this: I juggle around USINGs > a lot and it is a pain (and error-prone) to set up the same USINGs for a > single instruction that needs to be EXecuted. > An alternative is LOCTR (possibly in a macro). (With possible cache miss consequences. I forget; is the target of EX treated as a data access or as an instruction access for cacne management?)
But "instruction" should be a data type supported for use in literals: "EX Rx,=INST'CLC ...'. Some programmers have kludged this with ugly hex constants; the facility should be made orderly. > We use the HLASM Toolkit Structured Programming Macros which means that we > can't easily insert an instruction 'after' a Jump instruction. Almost all the > Jump instructions are generated by the SPM macros. -- gil