Code section is (by default) readable and executable, but not writable. Data section is (by default) readable and writable, but not executable.
At least a partial explanation - 48 is the numeric code of the character zero in ascii (49 = '1', ..., 57 = '9'). So if your counter has a value 0-9, by...