Прошу прощения за то, что пытался ввести в заблуждение. Моя вина. Вкурил документацию и увидел там следующее:Это, оказывается, фича языка ассемблера. При загрузке регистров #5, #6, #7 -- нужно сдвигать константу влево. При загрузке регистров #a, #b, #c, #d -- не нужно...Формат команды: ldr #n , значение
где: n - номер служебного регистра
Номер служебного регистра лежит в диапазоне 0-7, определяя один из регистров SR0-SR7. Загружаемое значение может быть константой, меткой или выражением, задающим адрес в памяти данных или памяти команд.
При загрузке регистров SR0-SR3 загружаемое значение является адресом в памяти данных. Константа или выражение, загружаемое в регистр, преобразуется в адрес сегмента путем отсечения младших 3-х разрядов значения.
---------- Post added at 14:19 ---------- Previous post was at 13:34 ----------
Ну, полноценную среду разработки я вряд ли потяну. И, как показали последние события, сам код ассемблера тоже надо проверить на (невольные) неточности.
Когда начнет получаться что-то более-менее похожее на нормальный продукт, я, наверное, отдельную тему открою в этом же разделе.
Синтаксис не смущает? Я-то привык.





Ответить с цитированием