| | Re: BrickOS Assembler
|
|
(...) Volatile tells the compiler that should assume the value can change without the compiler's knowledge. So yes, it gets reloaded every time. (...) To find this stuff, you need to read through documentation for GCC. It has been a few years since (...) (21 years ago, 21-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) Oh, I see. That's nifty. So a 'volatile' keyword ensures that it's reloaded every time? (...) Which doc is this? The only ones I have are the BrickOS command reference (it's a shorter HTML one), and the software manual from Hitachi. (...) (...) (21 years ago, 20-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) Glad to help! (...) However, it *does* work for bytes... See the program below. In your example program, you declared the "total" variable as an unsigned short (which is a 16-bit word), but accessed it using an 8-bit move instruction. Instead, (...) (21 years ago, 20-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) PERFECT. That was exactly what I was looking for. Clearly, the @_variablename method only works for words and not bytes. This had been my problem. Thanks very much. And thanks to everyone else who contributed too... I'm just a sucker for the (...) (21 years ago, 19-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) One more answer... :-) Mark #include <unistd.h> #include <conio.h> int x = 10; int y = 5; int z; int main() { __asm__(" mov @_x,r0 mov @_y,r1 add r1,r0 mov r0,@_z "); lcd_int(z); msleep(5); return 0; } (21 years ago, 19-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) In rethinking I think that compiling with the -S option will do what you want. It should create a file with a .s suffix. -S makes the compiler compile, but not assemble. Kevin "YOU ARE A GENIUS!!!!!! you can put that in your sig file!!!" Chris (...) (21 years ago, 19-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) I recommend compiling with the -gstabs+ option (by modifying the makefile). After your .lx file is generated use "h8300-hms-objdump --disassemble-all --source > my.lst" to get a disassembled file with the C source intermixed.into the file (...) (21 years ago, 19-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) Hi Mike, Check out the source for memcpy.c in the C library. It's not immediately clear, but the directives at the end of the __asm__ section beginning with "r" associate the %n macros with the given variables. I'm not sure of the exact syntax (...) (21 years ago, 18-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
(...) I need to access elements of a 2d array. I don't think this is an option for that. Nevertheless, could you post code that demonstrates this? (...) How do I do that? (...) ??? (...) Hmm... this sounds more like what I'm trying to do. Someone? (...) (21 years ago, 18-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BrickOS Assembler
|
|
Hi, Michael. I had some trouble with getting variables into registers, as well. I can think of three ways: 1) Pass the variable to a function - the first function argument seems to be r0. You can easily experiment with this by inspecting the (...) (21 years ago, 18-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: Brickos fun and games!
|
|
(...) I actually had this exact problem at the Hobby Show. I was in a hurry and didn't want to think about it (all I was doing was tweaking the light sensor thresh), so I just rebooted every time. Chris: I had lots of trouble too, but the final (...) (21 years ago, 17-Jan-04, to lugnet.robotics.rcx.legos, FTX)
|
|
| | Re: NEWBIE question : installing BrickOS
|
|
I hate to see questions go unanswered. Steve H replied to me saying it took him 12 hours under these conditions, and now that I have done it I can say it took my P233 laptop a full 24 hours to install brickOS under Paolo's instructions. I'm also sad (...) (21 years ago, 17-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | BrickOS Assembler
|
|
Okay, I'm working on a proc in ASM, and I need help with using MOV to move stuff back and forth between memory and registers. I have the following (very simple) program working, but I can't for the life of me get the MOV to work. I've got the (...) (21 years ago, 17-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | NEWBIE question : installing BrickOS
|
|
HI, preface, I wouldn't know a cygwin from a GCC if it him me in the head. I just want to D/L a .c prg into my RCX I need advice on the process of installing BrickOS on a p233 laptop running W98se. my question is this: What is a reasonable amount (...) (21 years ago, 16-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: Brickos fun and games!
|
|
(...) Looks like a nasty one, hopefully someone can offer some specific help. If you'd prefer to use a more recent gcc you can, I posted some info (URL) here>. My problem seemed to be the version of binutils I had. It may be time consuming, but with (...) (21 years ago, 16-Jan-04, to lugnet.robotics.rcx.legos, FTX)
|
|
| | Re: BricxCC release 3.3.7.6
|
|
(...) You are welcome! I'm glad you were able to get the pre-built tools installed and working. The brickOS root that BricxCC had configured on your system was a result of having a previous installation of BricxCC where I had used that path as the (...) (21 years ago, 15-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: BricxCC release 3.3.7.6
|
|
Hi John, Thanks to your pre-built BrickOS tools, I have finally installed it on my Windows 2000 machine (I tried several times in the past... no luck !). The installation was really fast and easy, the only problem I got was that the default BrickOS (...) (21 years ago, 15-Jan-04, to lugnet.robotics, lugnet.robotics.rcx, lugnet.robotics.rcx.legos, lugnet.robotics.rcx.nqc, lugnet.robotics.spybotics)
|
|
| | Re: The BrickOS Task Manager
|
|
(...) C++ is more particular with types than regular ol' C. However, I think BrickOS's definition of NULL in mem.h is incorrect (as this was causing one of the problems in the execi call). IMO, it should be defined like so: #ifdef __cplusplus (...) (21 years ago, 13-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: The BrickOS Task Manager
|
|
(...) When saved as multi.c, but not when saved as multi.cpp (...) Start multiple tasks within a program that uses objects. I could rewrite a number of parts to use structs instead, but I just wanted to check that there wasn't some easy solution. (...) (21 years ago, 13-Jan-04, to lugnet.robotics.rcx.legos)
|
|
| | Re: The BrickOS Task Manager
|
|
(...) Were you able to compile it as is? What are you trying to do? What errors are you getting? I tested that with version xx.09, not the latest one. Steve (21 years ago, 13-Jan-04, to lugnet.robotics.rcx.legos)
|