| { |
| "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" |
| } |
| ] |
| } |