/
^[ \t]*(?:(?<label>[a-zA-Z0-9_]+):[ \t]*)?
(?:
(?<op>[a-zA-Z0-9_\.]+)
(?:
(?:
(?:
[ \t]*
(?:
(?<h0>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8})
|
(?<o0>[-+]?[0oO][0-7]+)
|
(?<b0>[-+]?[0oO]?[bB][01]{1,32})
|
(?<l0>[a-zA-Z0-9_]+)
|
(?<d0>[-+]?\#?\d+)
)
[ \t]*
(?:\((?<r0b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]*
)
|
[ \t]*(?<r0>\$[a-zA-Z0-9_]{2,5})[ \t]*
(?:
(?:
,[ \t]*
(?:
(?<d1>[-+]?\#?\d+)
|
(?<h1>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8})
|
(?<o1>[-+]?[0oO][0-7]+)
|
(?<b1>[-+]?[0oO]?[bB][01]{1,32})
|
(?<l1>[a-zA-Z0-9_]+)
)
[ \t]*
(?:\((?<r1b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]*
)
|
,[ \t]*(?<r1>\$[a-zA-Z0-9_]{2,5})[ \t]*
(?:
(?:
,[ \t]*
(?:
(?<d2>[-+]?\#?\d+)
|
(?<h2>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8})
|
(?<o2>[-+]?[0oO][0-7]+)
|
(?<b2>[-+]?[0oO]?[bB][01]{1,32})
|
(?<l2>[a-zA-Z0-9_]+)
)
[ \t]*
(?:\((?<r2b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]*
)
|
,[ \t]*(?<r2>\$[a-zA-Z0-9_]{2,5})[ \t]*
)?
)?
)?
)?
)?
(?<pseudo_op>
\.
(?<name>[a-zA-Z]+)
[ \t]*
(?<arg>
(?<hp0>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8})
|
(?<bp0>[-+]?[0oO]?[bB][01]{1,32})
|
(?<op0>[-+]?[0oO][0-7]+)
|
(?<dp0>[-+]?\#?\d+)
|
(?<lp0>[a-zA-Z0-9_]+)
)
[ \t]*
)?
(?:[ \t]*(?<comment>[!;].*)?)
$
/
gxm