blob: 8e27a595e7be188f1c31a1e74214ba29b9a8afe2 [file] [log] [blame] [raw]
{
"asm": [
{
"source": null,
"text": "///////////////////////////////////////////////////////////////////////////////"
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "// IAR ANSI C/C++ Compiler V8.32.3.193/W32 for ARM 09/Oct/2020 12:40:07"
},
{
"source": null,
"text": "// Copyright 1999-2019 IAR Systems AB."
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "// Cpu mode ="
},
{
"source": null,
"text": "// Endian = little"
},
{
"source": null,
"text": "// Source file ="
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\example.cpp"
},
{
"source": null,
"text": "// Command line ="
},
{
"source": null,
"text": "// -lB"
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\output.s"
},
{
"source": null,
"text": "// -o"
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\output.s.obj"
},
{
"source": null,
"text": "// --enable_restrict -IC:\\arm\\inc -IC:\\arm\\inc\\c -IC:\\arm\\inc\\cpp"
},
{
"source": null,
"text": "// --dlib_config C:\\arm\\inc\\c\\DLib_Config_Full.h --c++ -e"
},
{
"source": null,
"text": "// --no_exceptions --no_rtti --no_static_destruction --cpu Cortex-M4"
},
{
"source": null,
"text": "// --fpu VFPv4_sp --endian little --cpu_mode thumb"
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\example.cpp"
},
{
"source": null,
"text": "// Locale = C"
},
{
"source": null,
"text": "// List file ="
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\output.s"
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "///////////////////////////////////////////////////////////////////////////////"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": " #define SHT_PROGBITS 0x1"
},
{
"source": null,
"text": " #define SHT_INIT_ARRAY 0xe"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// C:\\Users\\NA_BUI~1\\AppData\\Local\\Temp\\compiler-explorer-compiler202099-14988-evjfs2.ood3c\\example.cpp"
},
{
"source": null,
"text": "// 1 #include <array>"
},
{
"source": null,
"text": "// 2"
},
{
"source": null,
"text": "// 3 namespace NA {"
},
{
"source": null,
"text": "// 4"
},
{
"source": null,
"text": "// 5 template<class Derived, typename DataType>"
},
{
"source": null,
"text": "// 6 class Iterator {"
},
{
"source": null,
"text": "// 7 public:"
},
{
"source": null,
"text": "// 8 Iterator() = default;"
},
{
"source": null,
"text": "// 9"
},
{
"source": null,
"text": "// 10 class iterator {"
},
{
"source": null,
"text": "// 11 public:"
},
{
"source": null,
"text": "// 12 iterator(DataType* ptr = nullptr) : ptr(ptr) {}"
},
{
"source": null,
"text": "// 13 inline iterator operator++() {"
},
{
"source": null,
"text": "// 14 ++ptr;"
},
{
"source": null,
"text": "// 15 return *this;"
},
{
"source": null,
"text": "// 16 }"
},
{
"source": null,
"text": "// 17 inline bool operator!=(const iterator& other) const { return ptr != other.ptr; }"
},
{
"source": null,
"text": "// 18 inline DataType& operator*() { return *ptr; }"
},
{
"source": null,
"text": "// 19"
},
{
"source": null,
"text": "// 20 private:"
},
{
"source": null,
"text": "// 21 DataType* ptr;"
},
{
"source": null,
"text": "// 22 };"
},
{
"source": null,
"text": "// 23"
},
{
"source": null,
"text": "// 24 class const_iterator {"
},
{
"source": null,
"text": "// 25 public:"
},
{
"source": null,
"text": "// 26 const_iterator(const DataType* ptr = nullptr) : ptr(ptr) {}"
},
{
"source": null,
"text": "// 27 inline const_iterator operator++() {"
},
{
"source": null,
"text": "// 28 ++ptr;"
},
{
"source": null,
"text": "// 29 return *this;"
},
{
"source": null,
"text": "// 30 }"
},
{
"source": null,
"text": "// 31 inline bool operator!=(const iterator& other) const { return ptr != other.ptr; }"
},
{
"source": null,
"text": "// 32 inline const DataType& operator*() const { return *ptr; }"
},
{
"source": null,
"text": "// 33"
},
{
"source": null,
"text": "// 34 private:"
},
{
"source": null,
"text": "// 35 const DataType* ptr;"
},
{
"source": null,
"text": "// 36 };"
},
{
"source": null,
"text": "// 37"
},
{
"source": null,
"text": "// 38 inline iterator begin() { return iterator((DataType*)((Derived*)this)->IteratorBegin()); }"
},
{
"source": null,
"text": "// 39 inline iterator end() { return iterator((DataType*)((Derived*)this)->IteratorEnd()); }"
},
{
"source": null,
"text": "// 40 inline const_iterator begin() const { return const_iterator((const DataType*)((Derived*)this)->IteratorBegin()); }"
},
{
"source": null,
"text": "// 41 inline const_iterator end() const { return const_iterator((const DataType*)((Derived*)this)->IteratorEnd()); }"
},
{
"source": null,
"text": "// 42 };"
},
{
"source": null,
"text": "// 43"
},
{
"source": null,
"text": "// 44 } // namespace NA"
},
{
"source": null,
"text": "// 45"
},
{
"source": null,
"text": "// 46"
},
{
"source": null,
"text": "// 47 namespace NA {"
},
{
"source": null,
"text": "// 48 template<typename T, unsigned int MAX_SIZE>"
},
{
"source": null,
"text": "// 49 class FixedStack : public Iterator<FixedStack<T, MAX_SIZE>, T> {"
},
{
"source": null,
"text": "// 50 friend class Iterator<FixedStack<T, MAX_SIZE>, T>;"
},
{
"source": null,
"text": "// 51 inline constexpr auto IteratorBegin() { return m_Stack.data(); }"
},
{
"source": null,
"text": "// 52 inline constexpr auto IteratorEnd() { return m_Stack.data() + m_Pos + 1; }"
},
{
"source": null,
"text": "// 53"
},
{
"source": null,
"text": "// 54 public:"
},
{
"source": null,
"text": "// 55 FixedStack() : m_Pos(-1) {}"
},
{
"source": null,
"text": "// 56"
},
{
"source": null,
"text": "// 57 inline bool Push(T elem) {"
},
{
"source": null,
"text": "// 58 if ((m_Pos + 1) < MAX_SIZE) {"
},
{
"source": null,
"text": "// 59 m_Pos++;"
},
{
"source": null,
"text": "// 60 m_Stack[m_Pos] = elem;"
},
{
"source": null,
"text": "// 61 return true;"
},
{
"source": null,
"text": "// 62 }"
},
{
"source": null,
"text": "// 63"
},
{
"source": null,
"text": "// 64 return false;"
},
{
"source": null,
"text": "// 65 }"
},
{
"source": null,
"text": "// 66"
},
{
"source": null,
"text": "// 67 inline bool Pop(T replaceLast) {"
},
{
"source": null,
"text": "// 68 if (m_Pos != -1) {"
},
{
"source": null,
"text": "// 69 m_Stack[m_Pos--] = replaceLast;"
},
{
"source": null,
"text": "// 70 return true;"
},
{
"source": null,
"text": "// 71 }"
},
{
"source": null,
"text": "// 72"
},
{
"source": null,
"text": "// 73 return false;"
},
{
"source": null,
"text": "// 74 }"
},
{
"source": null,
"text": "// 75"
},
{
"source": null,
"text": "// 76 inline bool Pop() {"
},
{
"source": null,
"text": "// 77 if (m_Pos != -1) {"
},
{
"source": null,
"text": "// 78 m_Pos--;"
},
{
"source": null,
"text": "// 79 return true;"
},
{
"source": null,
"text": "// 80 }"
},
{
"source": null,
"text": "// 81"
},
{
"source": null,
"text": "// 82 return false;"
},
{
"source": null,
"text": "// 83 }"
},
{
"source": null,
"text": "// 84"
},
{
"source": null,
"text": "// 85 inline void Clear(T fill) {"
},
{
"source": null,
"text": "// 86 m_Pos = -1;"
},
{
"source": null,
"text": "// 87 m_Stack.fill(fill);"
},
{
"source": null,
"text": "// 88 }"
},
{
"source": null,
"text": "// 89"
},
{
"source": null,
"text": "// 90 inline void Clear() { m_Pos = -1; }"
},
{
"source": null,
"text": "// 91"
},
{
"source": null,
"text": "// 92 inline int FreeSpace() { return (MAX_SIZE - (m_Pos + 1)); }"
},
{
"source": null,
"text": "// 93"
},
{
"source": null,
"text": "// 94 inline T* DataPtr() const { return m_Stack.data(); }"
},
{
"source": null,
"text": "// 95"
},
{
"source": null,
"text": "// 96 inline int Size() const { return m_Pos + 1; }"
},
{
"source": null,
"text": "// 97"
},
{
"source": null,
"text": "// 98 inline bool Full() { return Size() == MAX_SIZE; }"
},
{
"source": null,
"text": "// 99"
},
{
"source": null,
"text": "// 100 inline T& Top(int back = 0) {"
},
{
"source": null,
"text": "// 101 return m_Stack[m_Pos + back];"
},
{
"source": null,
"text": "// 102 }"
},
{
"source": null,
"text": "// 103"
},
{
"source": null,
"text": "// 104 inline bool Empty() const { return m_Pos == -1; }"
},
{
"source": null,
"text": "// 105"
},
{
"source": null,
"text": "// 106 inline T& operator[](int index) { return m_Stack[index]; }"
},
{
"source": null,
"text": "// 107 inline const T& operator[](int index) const { return m_Stack[index]; }"
},
{
"source": null,
"text": "// 108"
},
{
"source": null,
"text": "// 109 private:"
},
{
"source": null,
"text": "// 110 int m_Pos;"
},
{
"source": null,
"text": "// 111 std::array<T, MAX_SIZE> m_Stack;"
},
{
"source": null,
"text": "// 112 };"
},
{
"source": null,
"text": "// 113"
},
{
"source": null,
"text": "// 114 } // namespace NA"
},
{
"source": null,
"text": "// 115"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// static __intrinsic __interwork __softfp void __sti__routine()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "__sti__routine:"
},
{
"source": {
"file": null,
"line": 114
},
"text": " PUSH {R7,LR}"
},
{
"source": null,
"text": "// 116 NA::FixedStack<int, 16> desa;"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR.N R0,??DataTable1_1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EEC1Ev"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R0,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "desa:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " DS8 68"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "main:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R2-R4,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR.N R4,??DataTable1_1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,#+1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE4PushEi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,#+2"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE4PushEi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,#+3"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE4PushEi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE4PushEi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE5beginEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R0,[SP, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,R4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE3endEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R0,[SP, #+4]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " B.N ??main_0"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??main_1:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOV R0,SP"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratordeEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADR.N R0,??DataTable1 ;; \"%d\\n\""
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL printf"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOV R0,SP"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorppEv"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??main_0:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADD R1,SP,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOV R0,SP"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZNK2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorneERKS4_"
},
{
"source": {
"file": null,
"line": 116
},
"text": " CMP R0,#+0"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BNE.N ??main_1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R0,R1,R4,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??DataTable1:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " DC8 \"%d\\n\""
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??DataTable1_1:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " DC32 desa"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp int & std::array<int, 16U>::operator[](size_t)"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZNSt5arrayIiLj16EEixEj:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADD R0,R0,R1, LSL #+2"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp int *std::array<int, 16U>::data()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZNSt5arrayIiLj16EE4dataEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __code __interwork __softfp NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator::iterator(int *)"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorC1EPi:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator::operator++()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorppEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R1,R1,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R0,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp bool NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator::operator!=(NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator const &) const"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZNK2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorneERKS4_:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R0,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R1, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " CMP R0,R1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BEQ.N `??operator!=_0`"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,#+1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " B.N `??operator!=_1`"
},
{
"source": null,
"text": "`??operator!=_0`:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,#+0"
},
{
"source": null,
"text": "`??operator!=_1`:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp int &NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator::operator*()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratordeEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R0,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator NA::Iterator<NA::FixedStack<int, 16U>, int>::begin()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE5beginEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R7,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE13IteratorBeginEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,R0"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOV R0,SP"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorC1EPi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R0,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R1,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp NA::Iterator<NA::FixedStack<int, 16U>, int>::iterator NA::Iterator<NA::FixedStack<int, 16U>, int>::end()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE3endEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R7,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA10FixedStackIiLj16EE11IteratorEndEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,R0"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOV R0,SP"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZN2NA8IteratorINS_10FixedStackIiLj16EEEiE8iteratorC1EPi"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R0,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R1,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp int *NA::FixedStack<int, 16U>::IteratorBegin()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA10FixedStackIiLj16EE13IteratorBeginEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R7,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R0,R0,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZNSt5arrayIiLj16EE4dataEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R1,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp int *NA::FixedStack<int, 16U>::IteratorEnd()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA10FixedStackIiLj16EE11IteratorEndEv:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R4,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R4,R0"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R0,R4,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZNSt5arrayIiLj16EE4dataEv"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R4, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADD R0,R0,R1, LSL #+2"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R0,R0,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R4,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __code __interwork __softfp NA::FixedStack<int, 16U>::FixedStack()"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA10FixedStackIiLj16EEC1Ev:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R1,#-1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BX LR ;; return"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// __interwork __softfp bool NA::FixedStack<int, 16U>::Push(int)"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "_ZN2NA10FixedStackIiLj16EE4PushEi:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " PUSH {R4,LR}"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R4,R1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R1,R1,#+1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " CMP R1,#+16"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BCS.N ??Push_0"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R1,R1,#+1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " LDR R1,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " ADDS R0,R0,#+4"
},
{
"source": {
"file": null,
"line": 116
},
"text": " BL _ZNSt5arrayIiLj16EEixEj"
},
{
"source": {
"file": null,
"line": 116
},
"text": " STR R4,[R0, #+0]"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,#+1"
},
{
"source": {
"file": null,
"line": 116
},
"text": " B.N ??Push_1"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??Push_0:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " MOVS R0,#+0"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "??Push_1:"
},
{
"source": {
"file": null,
"line": 116
},
"text": " POP {R4,PC} ;; return"
},
{
"source": null,
"text": ""
},
{
"source": {
"file": null,
"line": 116
},
"text": " DC32 RELOC_ARM_TARGET1 __sti__routine"
},
{
"source": null,
"text": ""
},
{
"source": {
"file": null,
"line": 116
},
"text": " DC32 0"
},
{
"source": null,
"text": ""
},
{
"source": {
"file": null,
"line": 116
},
"text": " DC8 \"%d\\012\""
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "// 117"
},
{
"source": null,
"text": "// 118 void main() {"
},
{
"source": null,
"text": "// 119"
},
{
"source": null,
"text": "// 120"
},
{
"source": null,
"text": "// 121 desa.Push(1);"
},
{
"source": null,
"text": "// 122 desa.Push(2);"
},
{
"source": null,
"text": "// 123 desa.Push(3);"
},
{
"source": null,
"text": "// 124 desa.Push(4);"
},
{
"source": null,
"text": "// 125"
},
{
"source": null,
"text": "// 126 for(auto d : desa) {"
},
{
"source": null,
"text": "// 127 printf(\"%d\\n\", d);"
},
{
"source": null,
"text": "// 128 }"
},
{
"source": null,
"text": "// 129 }"
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "// 68 bytes in section .bss"
},
{
"source": null,
"text": "// 4 bytes in section .init_array"
},
{
"source": null,
"text": "// 4 bytes in section .rodata"
},
{
"source": null,
"text": "// 260 bytes in section .text"
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "// 110 bytes of CODE memory (+ 154 bytes shared)"
},
{
"source": null,
"text": "// 4 bytes of CONST memory"
},
{
"source": null,
"text": "// 68 bytes of DATA memory"
},
{
"source": null,
"text": "//"
},
{
"source": null,
"text": "//Errors: none"
},
{
"source": null,
"text": "//Warnings: none"
}
]
}