Как написано, я полагаю, что опубликованный код будет читать строки, показанные в качестве примеров. Фактически, я только что запустил его, и он также прочитал строку, которую вы указали, не будет работать (и он читает только два «слова», так как оператор >>
в этом случае будет использовать пробел в качестве разделителя для строки.
Возможная причина сбоя заключается в том, что строка, предшествующая строке +lda #5
, содержит более трех слов (разделенных пробелами). Это может привести к неопределенному поведению (вполне возможно, к нарушению прав доступа), поскольку массив str
имеет только три элемента, и нет проверки для случая, когда в строке более трех слов.