Câu hỏi nhanh cho các bạn, trong vòng lặp của tôi, tôi cần sử dụng CMP, BLT và BGT để so sánh một số giá trị. Làm thế nào sẽ sử dụng hướng dẫn nói trong vòng lặp sau đây?ARM Assembler - Làm cách nào để sử dụng CMP, BLT và BGT?
Tôi đang cố gắng sử dụng BGT, BLT và CMP khi tôi cần chúng để làm cho ứng dụng của tôi hoạt động. Vấn đề là tôi không biết cách sử dụng chúng. Nếu tôi muốn sử dụng CMP để so sánh r6, với r4 và đặt sự khác biệt vào r7, làm thế nào tôi sẽ làm điều này? Câu hỏi tương tự nếu tôi muốn sử dụng BLT nếu r7 nhỏ hơn 0, tôi sẽ làm như thế nào?
BGT ??????? ; branch if greater than 5
CMP ???????? ; compare r6 with r4 , put difference into r7
BLT ???????? ;branch if r7 is less than 0
BGT ???????? ;branch if r7 is greater than 0
Dưới đây là toàn bộ vòng lặp của tôi:
LoopStart
BL WaitBUT1
BL readTemp
BL checkTemp
BGT ??????? ; branch if greater than 5
BL errorVal
CMP ???????? ; compare r6 with r4 , put difference into r7
BLT ???????? ;branch if r7 is less than 0
BL FanOn
BL errorLedOn
BL systemLedOn
BL heaterOn
BGT ???????? ;branch if r7 is greater than 0
BL FanOff
BL errorLedOff
BL systemLedOff
BL heaterOff
BL WaitBUT2
BL FanOff
BL errorLedOff
BL systemLedOff
BL heaterOff
B LoopStart
Câu hỏi của bạn chưa rõ ràng. Vui lòng làm rõ. –
Tôi đã thêm mô tả khác cho câu hỏi của mình. – user1080390