I think this are not bug, since SDCC is a free and open source software, it should trade in-between feature and cost, so what's important is knowing what is can and what it can not, and for those it can, also know how it does them.
Thanks, when I modified "0xFF", neither of the 2 errors is shown. And, I found 55 bool keyPad[4][4] = { 56 {0, 0, 0, 0}, 57 {0, 0, 0, 0}, 58 {0, 0, 0, 0}, 59 {0, 0, 0, 0} 60 }; was OK, and 45 /* 46 bool keyPad[4][4] = { 47 0, 0, 0, 0, 48 0, 0, 0, 0, 49 0, 0, 0, 0, 50 0, 0, 0, 0 51 }; 52 */ would trigger "error 69: struct/union/array '': initialization needs curly braces". I attached this feature description here, maybe it is useful for someone else.
Thanks, when I modified "0xFF", neither of the 2 errors is shown. And, I found 55 bool keyPad[4][4] = { 56 {0, 0, 0, 0}, 57 {0, 0, 0, 0}, 58 {0, 0, 0, 0}, 59 {0, 0, 0, 0} 60 }; was OK, and 45 /* 46 bool keyPad[4][4] = { 47 0, 0, 0, 0, 48 0, 0, 0, 0, 49 0, 0, 0, 0, 50 0, 0, 0, 0 51 }; 52 */ would trigger "error 69: struct/union/array '': initialization needs curly braces".
Hier:
If the array is a global variable, you could omit the explicit zero-initialization as a workaround, because global variables are implicitly zeroed. This works.
When I declared as this: 45 bool keyPad[4][4] = { 46 {0, 0, 0, 0}, 47 {0, 0, 0, 0}, 48 {0, 0, 0, 0}, 49 {0, 0, 0, 0} 50 }; 51 52 bool ledArray[8][8] = { 53 {0, 0, 0, 0, 0, 0, 0, 0}, 54 {0, 0, 0, 0, 0, 0, 0, 0}, 55 {0, 0, 0, 0, 0, 0, 0, 0}, 56 {0, 0, 0, 0, 0, 0, 0, 0}, 57 {0, 0, 0, 0, 0, 0, 0, 0}, 58 {0, 0, 0, 0, 0, 0, 0, 0}, 59 {0, 0, 0, 0, 0, 0, 0, 0}, 60 {0, 0, 0, 0, 0, 0, 0, 0} 61 }; 62 It was prompted: ?ASlink-Warning-Undefined Global 'FF' referenced by module 'keypad_ledarray' and, when I declared...
When I declared as this: 45 bool keyPad[4][4] = { 46 {0, 0, 0, 0}, 47 {0, 0, 0, 0}, 48 {0, 0, 0, 0}, 49 {0, 0, 0, 0} 50 }; 51 52 bool ledArray[8][8] = { 53 {0, 0, 0, 0, 0, 0, 0, 0}, 54 {0, 0, 0, 0, 0, 0, 0, 0}, 55 {0, 0, 0, 0, 0, 0, 0, 0}, 56 {0, 0, 0, 0, 0, 0, 0, 0}, 57 {0, 0, 0, 0, 0, 0, 0, 0}, 58 {0, 0, 0, 0, 0, 0, 0, 0}, 59 {0, 0, 0, 0, 0, 0, 0, 0}, 60 {0, 0, 0, 0, 0, 0, 0, 0} 61 }; 62 It was prompted: ?ASlink-Warning-Undefined Global 'FF' referenced by module 'keypad_ledarray' and, when I declared...
demo for stack - push/pop ;The storing of a CPU register in the stack is called a PUSH. ;The loading of the contents of the stack back into a CPU register is called a POP. org 00h Main: ;set SP at the default location - 07h - 0000 0111B Default: mov R2, #12h mov R3, #22h mov R4, #32h mov R5, #42h mov R6, #52h mov R7, #62h push 2 push 3 push 4 push 5 push 6 push 7 Second: mov SP, #28h ;set RAM location 28h as the first stack location push 2 push 3 push 4 push 5 push 6 push 7 Third: setb PSW.3 setb...