it says memory is word addressable , and 256 word memory means memory size is 256 words.
also it is given 1 word = 20 bits , so, to address memory there require 8 bits. ( 28 = 256 )
20 bits instruction is divided into 8 +8 +4 where 8 bits for 1 address , 8 bits for 2 address and 4 bits for opcode.
With 20 bits for an instruction giving 220 possible encoding.
No. of encoding for 2 address instructions = 8 * 28 * 28 = 2 19
No. of encoding for 1 address instructions = 1984 * 28
Then total number of possible 0-address instructions = 220 - { 2 19 + (1984 * 28 ) }
= 1048576 - { 524,288 + (256 * 1984 ) }
= 1048576 - ( 524288 + 507904 )
= 1, 048,576 - 1,032,192
= 16, 384
The total number of '0' address instructions formulated is 16,384 .