makc 192 26 января, 2005 Опубликовано 26 января, 2005 · Жалоба Есть код, который содержит в себе следующие команды: mov r1, #0 cmp r1, #0 bсс first b next first: /* Что-то */ next: /* Еще что-то */ Условие перехода на метку first (согласно АРМовской документации - флаг С должен быть сброшен (Carry Clear)) должно выполняться и переход должен произойти (установлен только флаг Z), но под отладчиком (GNU gdb 6.0 из комплекта с gnuarm.org) перехода не происходит и исполнение в результате переходит на next, т.е. проскакивает bсс first. В чем тут может быть дело? Или я просто чего-то не понимаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 26 января, 2005 Опубликовано 26 января, 2005 · Жалоба Все, разобрался... Оказалось, я посчитал что 6 = 2^2, т.е. установлен только бит Z, а на самом-то деле С тоже был установлен... Нужно меньше работать. ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться