Запятая требуется в макросах ключевых слов? - PullRequest
0 голосов
/ 28 июня 2018

Я анализирую некоторый IBM Assembly Language, который также является картой BMS.

Код выглядит так:

MFY      DFHMDF POS=(01,78),LENGTH=02,ATTRB=(NORM,FSET)                X00000240
               INITIAL='__'                                             00000250

Я бы ожидал, что это будет выглядеть так:

MFY      DFHMDF POS=(01,78),LENGTH=02,ATTRB=(NORM,FSET),               X00000240
               INITIAL='__'                                             00000250

То есть: я ожидал увидеть запятую после ключевого слова ATTRB.

У меня нет доступа к мэйнфрейму, чтобы попробовать код, но тот, кто дал мне его, уверяет меня, что он собран.

По каким правилам можно отбросить общее?

Или это серая область разбора ассемблера, и я должен сообщить об ошибке для этого условия.

1 Ответ

0 голосов
/ 29 июня 2018
MFY      DFHMDF POS=(01,78),LENGTH=02,ATTRB=(NORM,FSET)                X00000240
           INITIAL='__'   

Собран без INITIAL='__'.

INITIAL='__' был взят в качестве комментария, таким образом, не вызывая ошибки ассемблера. Ему повезло, потому что это, наверное, не повредит, если его не было.

Это инициализирует поля пробелами (пробелами), X'40 '. В любом случае, большую часть времени область имеет шестнадцатеричные нули (NULL), которые в любом случае равны пробелам. Таким образом он не видел проблем.

Да, запятая необходима для того, чтобы ассемблер соблюдал INITIAL='__'. Вы на 100% правы, как обычно.

...