22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CNOP Instruction<br />

CNOP Instruction<br />

The CNOP instruction aligns any instruction or other data on a specific halfword<br />

boundary. This ensures an unbroken flow of executable instructions, since the<br />

CNOP instruction generates no-operation instructions to fill the bytes skipped to<br />

achieve specified alignment. If a control section has not been established, CNOP<br />

will initiate an unnamed (private) control section.<br />

►►──┬────────┬──CNOP──byte,boundary────────────────────────────────►◄<br />

└─symbol─┘<br />

symbol<br />

is one of the following:<br />

An ordinary symbol<br />

A variable symbol that has been assigned a character string with a value<br />

that is valid for an ordinary symbol<br />

A sequence symbol<br />

| The name is assigned to the next halfword aligned location. There may be a<br />

| single byte before that location, but this is skipped for alignment. There may be<br />

| zero or more NOP(R)s generated at or after that location.<br />

byte<br />

is an absolute expression that specifies at which even-numbered byte in a<br />

| fullword, doubleword, or quadword the location counter is set. The value of the<br />

expression must be 0 to boundary-2.<br />

boundary<br />

is an absolute expression that specifies the byte specified by boundary is in a<br />

fullword, doubleword, or quadword. A value of 4 indicates the byte is in a<br />

| fullword, a value of 8 indicates the byte is in a doubleword, and a value of 16<br />

| indicates the byte is in a quadword.<br />

Figure 29 shows valid pairs of byte and word.<br />

Figure 29 (Page 1 of 2). Valid CNOP Values<br />

Values<br />

Specify<br />

0,4 Beginning of a word<br />

2,4 Middle of a word<br />

0,8 Beginning of a doubleword<br />

2,8 Second halfword of a doubleword<br />

4,8 Middle (third halfword) of a doubleword<br />

6,8 Fourth halfword of a doubleword<br />

| 0,16<br />

Beginning of a quadword<br />

| 2,16<br />

Second halfword of a quadword<br />

| 4,16<br />

Third halfword of a quadword<br />

| 6,16<br />

Fourth halfword of a quadword<br />

| 8,16<br />

Fifth halfword of a quadword<br />

Chapter 5. Assembler Instruction Statements 119

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!