ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
361825 Топик полностью
Bill (14.10.2012 22:28, просмотров: 147) ответил tvi на Я уже догадался, что SET не мне поможет - в учебнике я прочитал, EQU создает константы, а SET переменные, вот я и повелся. По сути мне нужно выполнить следующую задачу - установить или сбросить определенный бит в регистре - sbr FLAG,1<<p1 в p1 я
Вы, видимо, не тот учебник прочитали. Ни .equ, ни .set не создают переменных в памяти. Разница между ними заключается лишь в том, что в случае директивы .set метка может быть многократно переопределена
SET - Set a symbol equal to an expression The SET directive assigns a value to a label. This label can then be used in later expressions. Unlike the .EQU directive, a label assigned to a value by the SET directive can be changed (redefined) later in the program. Syntax: .SET label = expression Example: .SET FOO = 0x114 ; set FOO to point to an SRAM location lds r0, FOO ; load location into r0 .SET FOO = FOO + 1 ; increment (redefine) FOO. This would be illegal if using .EQU lds r1, FOO ; load next location into r1
Что же касается вашей командыsbr FLAG,1<<r17 то поставьте себя на место транслятора и запишите код данной инструкции. Интересно, что у вас получится?