2010-05-12 11 views
8

मैं एआरएम प्रोसेसर पर चलने वाले कुछ फर्मवेयर की शुरुआत के लिए कुछ असेंबली देख रहा हूं। निम्नलिखित अपवाद वेक्टर तालिका परिभाषित की गई है:एआरएम असेंबली - शाखा निर्देश

LDR  pc, =resetHandler 
    LDR  pc, Undefined_Addr 
    LDR  pc, SWI_Addr 
    LDR  pc, Prefetch_Addr 
    LDR  pc, Abort_Addr 
    B  . 
    LDR  pc, =irqHandler 
    LDR  pc, FIQ_Addr 

क्या किसी को पता है कि "।" शाखा के बाद ("बी") निर्देश करता है? डीबगर की डिस्सेप्लर विंडो में, निर्देश शाखाएं स्वयं ही। डेटा शीट के अनुसार, प्रविष्टि आरक्षित है, इसलिए मुझे लगता है कि यह एक अंतहीन पाश करता है और घड़ी-कुत्ते के रीसेट के लिए इंतजार कर रहा है।

+2

बस एक के रूप में FYI करें, कुछ एआरएम आधारित माइक्रोप्रोसेसरों (या बल्कि अपने फ़्लैश utilites और/या bootloaders) का उपयोग करने वाले आरक्षित प्रविष्टि चेकसम धारण करने के लिए: http://www.nxp.com/documents/application_note/AN10254.pdf –

उत्तर

8

कई असेंबलरों में . का मतलब वर्तमान स्थान काउंटर है, इसलिए हाँ, यह सिर्फ एक अनंत लूप है, यानी "यहां शाखाएं"।

[ध्यान दें कि कुछ अस्सेम्ब्लेर्स का उपयोग $ या * बल्कि . से]

संबंधित मुद्दे