00:00:00 --- log: started forth/02.10.09 00:41:22 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 00:41:48 --- quit: Serg_Penguin (Client Quit) 00:54:02 --- join: cyberlok (cyberlok@cyberlok.no-ip.com) joined #forth 01:02:20 Yo. 01:15:15 How's serverdisk coming along? 01:17:01 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 01:28:26 ohh sorry Fractal 01:28:28 ummm 01:28:55 right now working on a CD version then gonna take some of that technology and microsize it for the diskette version 01:29:23 as it workes out better in that way then tring to get a really small disk to start everytime. 01:29:39 right now watching patch adams on divx 01:30:33 Cool. 01:31:31 so kind of going in reverse right now 01:31:53 Ah yeah. 01:32:18 only need to find out the libs needed and how and what would even be small enough 01:32:39 also with that much space (50 mb) true multi user will be easy 01:32:57 No doubt. 01:33:05 then onto the flash version and get this 01:33:10 usb vault version :) 01:33:56 thinking of all kinds of cheap ways to make a embedded system of sorts 01:34:00 Heh. Whatever turns you on I guess. :) 01:34:17 like a 50 mb cd and a usb vault temp file system 01:34:25 for like email crap like that 01:34:33 So, latest version of frugal has a powerful forth debugger included. 01:34:59 kickass 01:42:51 its crazy though 01:43:12 lots of people downloading and really only like 3-4 people in a somewhat constant contact 01:45:04 Yeah, freshmeat'll do that. 01:46:16 well its not only that 01:46:32 I got some big traffic when some online news places published me 01:47:02 there is this huge spike 01:47:12 Heh. Cool. 01:47:20 im buying time right now and gonna get the cd out asap 02:39:49 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 03:50:15 --- quit: Serg_Penguin (Killed (NickServ (Nickname Enforcement))) 03:50:18 --- join: Serg_p (~Z@nat-ch1.nat.comex.ru) joined #forth 03:50:36 --- quit: Serg_p (Client Quit) 03:55:55 --- join: Soap- (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 03:55:55 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 04:32:43 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 05:12:27 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 05:14:13 --- quit: Serg_Penguin (Client Quit) 05:46:55 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:17:04 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:21:03 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:21:24 --- quit: Herkamire (Client Quit) 06:23:05 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:31:01 --- join: I440r (~mark4@1Cust92.tnt3.bloomington.in.da.uu.net) joined #forth 06:31:16 hi I440r 06:31:26 hi 06:31:40 been using those binaries? 06:31:54 you should be able to compile isforth yourself... 06:32:03 does make linux assemble for you ? 06:32:17 weeple 06:32:28 make freebsd 06:32:42 make freebsd wont work 06:32:43 no linux at work... 06:32:47 oh 06:33:00 what distro do you run at home ? 06:33:10 oh, have nulinux in zip, but its brain-damnaged 06:33:17 RH 7.2 06:33:36 can you assemble the isforth kernel with nasm at home ? 06:34:34 tar -xzvf .. ; make ; make linux ; BARF FLOOD 06:35:04 %xdefine ? 06:35:13 yeah ! 06:35:43 heh didnt you get the nasm from my ftp ? 06:36:17 no, i got bin - we have hard traffic limit, dunno wanna waste 06:36:27 just wrote down version 06:36:58 aha. ok. well when you DO get it the make linux will work for you :) 06:42:10 did you use kernel.com and isforth that you downloaded ? 06:42:57 no, will use at home 06:43:05 k 06:54:08 re.. 06:54:57 hi 06:58:08 now i think of adding IDE to Enth 06:58:26 can one gimme good asm/ide tutor ? 07:02:51 ide tutor? 07:05:27 yeah, how to read/write blocks via i/o ports etc... 07:06:57 XeF4 I440r ! 07:07:25 http://www.ata-atapi.com/ ? 07:10:25 klaw :) 07:11:48 mega tnx, digging 07:12:11 so i spent 4 hours in bed.. tossing and turning.. that thing. 07:12:21 then i gave up :-/ 07:12:27 even worse, now i'm on irc 07:13:10 saved atadrvr.zip... 07:55:47 --- quit: Serg_Penguin ("time to go home...") 09:58:54 : factorial 09:58:55 dup dup >r dup 0 do 09:58:55 r> * 1- >r 09:58:56 loop ; 09:59:06 What's wrong with that, I'm sure it's painfully obvious to you guys :) 09:59:43 hmm, wish there was some magic graphical representations of the stacks somewhere i could watch, to learn 09:59:45 :P 10:01:00 you cant do a >r outside a loop with the balancing r> inside it 10:01:06 do loops use the return stack 10:01:41 ah-HA! 10:01:59 im trying to figure out how to do this without relying on variables 10:02:15 ill get it damnit! 10:02:16 :) 10:05:35 :) 10:09:40 it's probably bad to be trying to do this all in one word, huh 10:11:36 dunno :) 10:24:03 --- join: highlaender (~highlaend@mnch-d9ba4604.pool.mediaWays.net) joined #forth 10:24:04 k closer: 10:24:04 : factorial 10:24:04 dup dup 0 do 10:24:04 1- * 10:24:04 loop ; 10:24:04 hi 10:24:05 hi 10:24:25 onetom: you're alive ? 10:24:44 * highlaender temp_alias Speuler 10:25:03 :) 10:27:41 ianni: 0 factorial . ?? 10:27:50 lol 10:28:10 trust you to find the flaw in his code bongo :P 10:28:58 Hrm. 10:30:53 damnit :) 10:30:59 well the code is wrong anyway, too 10:33:30 : newfact dup 0= if 1+ then factorial ; 10:33:53 er no lol 10:34:07 that wont ever end :) 10:34:27 oh 10:34:29 nevermind heh 10:34:49 misread it :) 10:35:50 highlaender: I should make factorial work first :) 10:36:06 it looks right.. hmm 10:36:16 : factorial 2dup 0 do 10:36:18 1- * dup 10:36:18 loop ; 10:37:37 nope 10:37:57 close. 10:38:07 but no cigar heh 10:38:33 ok :) 10:38:53 * ianni also releasing software and fixing bugs while trying to sneak forth in the middle 10:39:08 releasing what software ? 10:45:23 it's a internal app for my company 10:45:37 a Cocoa (openstep) app hitting the hell out of a RDBMS 10:45:42 hehe 10:46:04 helps automate foreign key mapping by name only 10:46:35 eg if someone has a db with data similar to ours (financial information) we map their keys to ours 10:47:07 :) 10:48:35 <-- high level OO weenie 10:48:50 but i can't fathom doing what I do in forth ... 10:48:51 hehe 10:49:16 ugh 10:49:21 --- quit: highlaender () 10:49:22 object obfuscation :) 10:50:48 hehe 10:50:58 whip me up an oracle driver and we'll talk :) 10:51:07 hehhe.. 10:51:16 lol 10:53:33 ianni: frugal has a debugger. you can step through your code and it will show you the stacks as you do 10:55:47 cool 10:58:59 : fact 1 - dup if swap over * swap recurse else drop then ; : factorial dup fact ; 10:59:09 there must be a better way... but this works 10:59:16 perhaps a loop :) 10:59:22 I dont want to use recurse 10:59:25 hehe 10:59:37 trying a loop 11:00:00 : factorial dup for r@ * nxt ; 11:00:04 i think 11:00:14 nxt is my for/next thing 11:00:29 :) 11:00:31 : factorial dup 1 do i * loop ; 11:00:51 mine is faster :) 11:00:56 :-P 11:01:04 Herkamire/I44or: bastards 11:01:04 does gforth have for/next? 11:01:08 dunno 11:01:30 Herkamire: apparently so 11:02:34 I440r: r@ ? 11:02:39 I440r: ohh, the count. 11:02:40 yes 11:02:43 :) 11:02:51 that's what I wanted 11:02:55 ianni: using the count makes it way easier :) 11:03:15 again the itterative method disproves the recursive method 11:03:50 I440r: yours doesn't work :) 11:04:25 y not 11:04:35 5 factorial . 600 11:04:38 600 output 11:05:22 erm 11:05:24 wait 11:05:36 ok i know why 11:05:42 I440r: you are multiplying by the number you start with twice. should be: : factorial dup 1 - for r@ * nxt ; 11:05:48 yes 11:05:53 thats what i was about to put 11:05:57 im STILL faster heh 11:07:39 I would use for/next if I knew how. 11:08:05 well for/.next is implemented in about 5 different ways heh 11:08:48 WTF??? in gforth, if you do "3 for ... next" it executes ... __4__ times 11:08:57 screw that 11:09:14 yes 11:10:11 I'll stick with do/loop in gforth 11:11:12 I would prefer that for/nxt would count down to zero not 1. 11:11:23 then your factorial code would have worked ;) 11:12:44 I think "3 for r@ . nxt" should print out "2 1 0 " (or "0 1 2 " would be fine, but I'm more interested in speed) 11:15:08 hmm... maybe we should give ianna hints instead of solutions :) 11:16:07 :) 11:16:14 yeah, you ruined that problem for me! 11:16:17 heh 11:16:19 now i need another 11:16:25 :) 11:16:37 ianni now do a word to calculate fib's :) 11:16:44 here here! 11:16:54 alright 11:17:20 have you done the pyramid of stars? 11:18:09 yeah 11:18:22 i cheated though, could do that again 11:18:23 did you make it centered? 11:18:32 yep 11:18:36 cool :) 11:18:38 but i think i cheated, or didnt finish 11:19:11 how did you cheat? 11:20:33 cant remember 11:20:42 was long time ago 11:23:18 how do I clear the stack? 11:23:35 depth 0 do drop loop ??? 11:23:36 hhe 11:23:36 or 11:23:43 if you mean interactivly you can do 11:23:43 .. 11:23:48 which is an undefined word 11:23:50 ehe 11:23:53 abort clears the stack 11:24:10 k 11:24:47 oh shit, .s displays from top->bottom? 11:24:56 doh :) 11:25:01 hehe yes lol 11:25:07 oh, of course.. duh 11:25:17 you could redefine it :) :) 11:25:33 there's a problem for you. 11:25:38 see "depth" and "pick" 11:26:01 heh 11:26:14 actually, .s displays TOP.....BOTTOM 11:26:28 but .context displays BOTTOM.....TOP 11:26:30 ugh 11:26:35 i think i should be more consistent 11:26:48 haha 11:29:03 got it 11:29:20 ok, it takes at most 11 words to define .s as bottom....top 11:30:45 : .s 11:30:47 depth 10 min 0 ?do i pick . loop ; 11:30:50 thats my definition 11:34:44 Herkamire did you see my privmsg to you ? 11:34:48 i did it in 10 words :) 11:35:40 What is roll I440r? 11:35:44 where is 11:36:27 its like rot but different 11:36:32 its an evil word, dont use it :P 11:36:36 right, I need roll. 11:36:37 damnit 11:36:42 i'll use begin while then 11:36:45 i would say PICK was evil too 11:37:03 roll is like rot but it rotates the Nth item out 11:37:10 2 roll is a swap 11:37:13 rigt i know 11:37:13 3 roll is a rot 11:37:14 ianni: don't use roll 11:37:19 ok 11:38:17 try not to use rot 11:38:33 and only use PICK for interactive debugging stuff (like .s or a debugger) 11:38:56 this is why I want to use roll: I want to be lame and add two ones here, how would you do it? 11:38:56 : fib 11:38:56 1 dup rot 0 do 11:38:56 2dup + 2dup + 11:38:56 loop ; 11:39:09 5 fib ok 11:39:09 .s 144 89 55 34 21 13 8 5 3 2 ok 11:39:16 :P 11:39:43 heh, i guess thats not 5 iterations either :P 11:40:08 ianni: print out fib :) 11:41:05 Herkamire: hm? 11:41:20 just print the sequence, don't leave it on the stack 11:41:40 ah 11:41:45 I had garbage on there I guess 11:42:00 Herkamire:ahh I get ya 11:42:04 :) 11:43:08 hrm 11:44:24 what does 40 fib return with that code 11:44:30 ianni: see if you can do it without 2dup :) :) 11:46:19 it's wrong. 11:46:25 Herkamire: ok 11:48:01 hm :P 11:48:04 ianni what does the code above give for 40 fib 11:49:16 I dunno, why? 11:49:21 it's wrong anyway 11:50:09 my mind wants to 2dup 11:50:12 ok heh thats what i was checking :) 11:50:15 * ianni slaps his non-computer-like brain 11:50:38 good thing the brain has no nerve endings! 11:50:40 :> 11:50:51 ianni: use over 11:51:13 ahh 11:51:22 and swap 11:51:22 yeah, I was just thinking of which stackswap I was gonna use 11:51:28 :) 11:59:55 damnit 11:59:59 I keep wanting to do two overs 12:00:08 same as 2dup :P 12:00:22 and cant use return stack 12:00:34 or can I as long as I clean up 12:00:38 that'd make sense. 12:01:44 you can use the return stack, just know that "do" and "for" use it to. 12:01:54 you don't need it for this though :) 12:02:28 throughout the loop you just need to keep the current number and the one that came before it. 12:04:24 : fib 12:04:24 1 dup rot 1- 1- 0 do 12:04:24 swap dup >r over + r> 12:04:24 loop swap ; 12:04:37 ! 12:04:44 I think i did it, hol yshit 12:04:47 :P 12:05:03 i was totally doing that ... zen style 12:05:10 heh :) 12:05:11 like, i just kinda went with the flow 12:05:53 so, comments? it's a bit ugly... 12:05:59 does the trick tho i guess 12:06:38 hang on a sec, let me try it. 12:06:43 woot 12:06:46 seems to work 12:07:17 unless you pass <2 :) 12:07:32 <= 12:07:37 what does 40 fib return 12:07:59 102334155 ? 12:08:18 ianni: it works :) 12:08:26 : (fib3) 12:08:26 0 1 rot 1 12:08:26 do 12:08:26 tuck + 12:08:26 loop nip ; 12:08:35 hehe 12:08:37 it's so wierd that you're leaving the sequence on the stack. 12:08:47 Herkamire: hheh, yeah, I know 12:09:01 it'd look equally as weird if i wrote it that way to print out 12:09:20 it's probably a totally different problem to print out the sequence, because you always need the next number on the top of the stack, instead of under the bit's you use in the loop 12:09:30 yeah 12:09:31 ill re-do it 12:09:35 try it :) 12:09:54 ooo 12:10:02 whats nip & tuck ? 12:10:04 0 1 rot over do tuck + loop nip heh 12:10:07 i forgot 12:10:13 nip drops the second item 12:10:18 tuck is like 12:10:24 : tuck swap over ; 12:10:57 it's way simpler to print it I think. 12:11:25 hmm :) I don't use tuck 12:11:53 \ ------------------------------------------------------------------------ 12:11:54 \ the recursive method - this we call once not 9 milion times :) 12:11:54 \ this word recurses on itself one hundred and thirteen million times 12:11:54 \ to calculate the 40th fib (bleh) 12:11:54 : (fib1) ( n1 --- ) 12:11:54 dup 1 > 12:11:56 if 12:11:58 dup 1- recurse 12:12:00 swap 2- recurse 12:12:02 + 12:12:04 then ; 12:12:39 i thought recursing is evil? :P 12:12:40 ugh 12:12:43 it is 12:12:47 and that code proves it 12:12:59 in isforth the above code takes 6 minutes to calculate the 40th fib 12:13:02 I 100% understand why it's evil 12:13:03 oh, really 12:13:15 i mean a grok 100% at least 12:13:29 my itterative method calculates the 40th fib 90 million times in 32 seconds 12:14:00 haha 12:14:08 wow 12:15:34 I don't get that recursive code... 12:15:47 it works tho 12:15:57 i dont get it either 12:16:08 i NEVER understand why ANYONE would ever use ANY recursive methods 12:16:10 my fib prints out the first 40 in the sequence in the time it takes my terminal to scroll. 12:17:01 I440r: tail recursion is basically the same as a loop. it's like REPEAT except it loops back to the begining of the word (no need to stick a BEGIN there) 12:19:51 grr, mind wants to over over 12:20:00 must not be fastest way... 12:20:08 I don't think so 12:20:19 its dumb 12:20:26 yeah.. 12:20:39 its human-like 12:20:42 begin doesnt compile anything unless you need to decompile 12:20:47 oh 12:20:47 : begin here ; 12:21:10 yup. 12:21:26 REPEAT and tail recursion, are just unconditional branches 12:22:27 ianni: at the start of your loop (every time through) have the current number, and the one before it. 12:22:47 yeah 12:23:04 why do I feel "1 dup rot 0 do" is a bad way to start 12:23:12 mhhh 12:23:20 guess ist not 12:23:33 but i'd have to 1 . 1 . there too 12:23:37 which feels really really lame 12:23:43 eheh 12:23:45 figure that out later 12:23:59 * ianni abstains from reading the previous solutions 12:24:02 don't worry about getting the 1s to print out. 12:24:08 Herkamire: why not? 12:24:13 jsut ignore them? 12:24:21 and say wrap my word 12:24:21 yeah 12:24:30 if you get the code right, it will work out (when you start it off with the right numbers) 12:24:45 oh so just assume u get 1 1 on the stack 12:24:52 yeh.. word 12:25:04 "word" takes on a new meaning now 12:25:05 my code gets the begining right when I start it with 0 1 12:25:06 haha 12:25:16 ah yeh 12:25:31 cheerse 12:25:46 trying to do too much 12:25:48 in one word 12:25:59 figure out what you need to be keeping on the stack, and how you manipulate that into what you need on the stack next iteration 12:26:54 : fib-sub ( fib_n-1 fib_n -- fib_n fib_n+1) ... 12:27:25 right 12:27:37 thats so easy hehe 12:27:39 or it might work better with those parameters backwards 12:27:46 I440r: ssshh! 12:27:49 hehehe 12:27:49 ;) 12:28:22 I was thinking ( fib_n-1 fib_n -- fib_n+1 ) 12:28:24 same as you said,right? 12:28:38 er, 12:28:54 ( fib_n-1 fib_n -- fib_n-1 fib_n fib_n+1 ) 12:29:02 thats what im thinking 12:29:03 no, 12:29:08 you don't need n-1 anymore 12:29:15 oh yeah. 12:29:20 I understand now 12:29:33 print n, then you want n and n+1 (and you don't want n-1 anymore) 12:32:48 is over tuck overcomplicated? 12:33:11 yes :) 12:33:19 ah, yeah, tuck has an over. 12:33:20 :P 12:33:50 use swap and over 12:33:59 >r dup r> hehe 12:34:02 and plus :) 12:34:15 dup rot + 12:34:16 I was thinking 12:34:21 jsut now 12:34:23 why swap items your going to be adding ??? :) 12:34:27 --- join: highlaender (~highlaend@mnch-d9ba4604.pool.mediaWays.net) joined #forth 12:34:31 ahh, ret stack. 12:34:43 ianni: :) dup rot + works :) 12:34:45 dont use return stack heh 12:35:00 * highlaender not Speuler anymore 12:35:02 oh ok I was trying not to 12:35:16 ok.. next problem 12:35:22 I guess Ill do triangle of stars 12:35:46 brb lunch 12:36:00 ianni: instead of "dup rot" you can do "swap over" 12:36:31 ah 12:36:39 dup rot is faster 12:36:43 at least in isforth 12:36:48 whereas tuck = over swap 12:36:51 I440r: shouldn't be :) 12:37:01 dup is push ebx 12:37:03 Herkamire: wrong 12:37:08 rot is basically two swaps 12:37:30 is dup -rot 12:38:57 I440r: are you caching top of stack? 12:39:23 yes 12:39:28 in ebx 12:40:07 I440r: is over slower that swap?? 12:40:43 yes 12:40:51 push ebx 12:40:59 mov ebx, 4[esp] 12:41:01 or 12:41:09 xchg ebx,[esp] 12:41:13 the first is iver 12:41:17 the second is swap 12:41:19 I don't know x86 asm 12:42:34 ok, I get it though 12:42:41 :) 12:42:41 I didn't know of xchg. 12:43:13 xchg would be 3 instructions on ppc 12:43:21 is xchg fast? 12:43:26 yes 12:43:37 3 instructions ? 12:43:43 u m,ust use the xor method :) 12:43:59 fetch, store, move-register 12:44:06 no 12:44:14 xor destination with source 12:44:19 xor source with destination 12:44:21 xor destination with source 12:44:24 now they are swapped 12:44:27 on ppc you can't work with memory directly 12:44:33 you have to pull in into a register first 12:44:36 eek!!!!!!!!!!1 12:44:37 you cant ? 12:44:40 thtas fucked up 12:44:53 that's why the instructions are simple, and all fit into 4 bytes 12:45:41 ppc usually can get through instructions 50%-100% faster than x86 12:46:24 x86 has to fetch the data from memory before it can manipulate it too, it's just not explicit in the asm. 12:46:35 I440r: yeah, it makes for substantially bigger code, and you have to do more work yourself 12:46:57 I440r: on the other hand, _I_ have a fully working assembler :-P 12:47:03 lol 12:47:04 hehe 12:47:29 well, I cheated. just went with forth syntax 12:47:51 use my defers> word :) 12:50:25 for what? 12:51:08 make your bas ackwards assembler SANE :) 12:51:18 ah 12:51:36 it's not such a big deal with PPC, don't have all the [] and stuff that x86 does 12:51:44 heh 12:52:11 you have to pass -mregnames to gas to get it to let you use register names, usually it's just all numbers :) 12:52:48 which is, admittedly, a bit hard to read... 12:53:16 is defers> new? I'm finding defers in compile.1... 13:00:16 its MY word 13:00:23 hang on and ill show you what it does heh 13:00:30 its not in the existing sources 13:00:58 0 var defered 13:01:02 : deferes> 13:01:13 defered r> !> defered 13:01:50 dup ?: >r drop ; 13:02:13 everu mneumonic should start with a deferes> 13:02:19 : mov deferes> xxx yyy zzz ; 13:02:44 deferes> REMOVES the return address of the word MOV and swaps it with whats stored in the variable 'defered' 13:02:56 if defered is NON zero we return to that address instead 13:03:05 so when you have code like 13:03:08 mov ax, 5 13:03:16 xchg ax, bx 13:03:24 mov deferes> nothing. 13:03:29 xchg defers> mov 13:03:42 so mov executes ONLY when the ax, 5 part has been parsed! 13:03:55 the xchg word will be executed at teh start of the next mneumonic 13:04:01 get it ? 13:04:18 I don't see how it works, or why you would want something to do that 13:04:32 its easy! 13:04:39 don't you have to write a parser anyway 13:04:47 : mov 10 word ... 13:04:48 nope. im not writing a parser 13:04:57 watch 13:05:04 I thought you wanted normal x86 asm syntax?? 13:05:10 or are you giving up on that? 13:05:18 mneumonic1 parameters to mneumonci 1 13:05:27 mneumonic2 parameters to mneumonic 2 13:05:42 thats how all assembler instructions are (there may be no parameters) 13:05:48 mneumonic1 executes 13:06:03 its return address is ripped off the stack and stored in the variable "defered" 13:06:22 the forth parser then parses the "parameters to mneumonic 1" part 13:06:38 setting flags, storing values in variables and leaving immediates etc on the stack or what ever 13:06:43 mneumonic2 executes 13:06:51 its return address is ripped off the stack 13:07:03 the value in the variable 'defered' is put ON the return stack 13:07:16 ok, I see how deferes> works 13:07:22 and then we save the newly ripped return address 13:07:29 heh 13:07:59 each mneumonic calls deferes> 13:08:02 I440r: interesting. then you have to end the sequence with something? 13:08:07 I think mov should parse the parameters, or you should have a parser that parses instructions and params 13:08:17 end-code does a defers> ; 13:08:22 gotcha 13:08:34 i.e. it calls defers> to finish the last instruction but doesnt defere anything heh 13:08:44 code foo \ code ZEROS the defered variable 13:09:06 so, how do the params work? you define "ax," and "bx" 13:09:33 well i guess ax, would be a word that executes and sets a variable to say that ax is the destination register 13:09:41 mov ax, bx 13:09:44 w00000000000t! Good morning forthers!!Q! 13:09:48 ax, sets destination reg 13:09:55 bx (no comma) is a source register 13:10:13 when you define "mov" how can you tell what sort of move it is (mem-mem, mem-reg etc) 13:10:23 you cant 13:10:25 Fractal: morning :) 13:10:43 I440r: aren't they diffenenc machine instructions? 13:10:51 when mov finally executes it has to know what its sorces are and what its destinations are and assemble the correct instruction 13:10:54 yes 13:10:56 and no 13:11:05 mov reg, reg 13:11:21 mov reg,mem/mem,reg <-- these are same (d bit is flipped) 13:11:29 mov reg, immediate 13:11:33 mov mem, immediate 13:11:38 have to figure it all out 13:11:50 and then you can probably make your assembler kind of dumb for starters, right? 13:11:53 and thats ALOT of work 13:11:58 that's so fucked up. they are doing totally different things. why call them all "mov"? 13:12:16 mov [eax+2*ebx+1234], # 1234 13:12:23 hehe 13:12:26 because thats intel for you heh 13:12:28 yikes! 13:12:29 that's a CISC instruction set for you 13:12:51 mov [reg+scale*reg+offset], reg/mem/immediate 13:12:52 oh 13:12:56 you cant do mem/mem 13:13:01 so it would be reg/immediate 13:13:09 push can have that too 13:13:19 push reg,mem or immediate 13:13:33 mem can be [reg+scale*reg+offset] 13:13:42 ppc: mov reg,reg is mr (move register). reg->mem is st... (store...), mem->reg is l... (load...) 13:13:43 and it has to be figured out 13:13:57 yes 13:14:29 I can see why you put it off. I would not use the x86 asm syntax. sounds dreadfull 13:14:34 it is 13:14:54 I would not have 4-5 instructions with the same name 13:15:11 oh, and on ppc, immediate-> reg is li... (load immediate) 13:15:42 :) 13:19:56 Herkamire : The PPC patches have been applied to frugal. They'll be there in the next distro. 13:20:08 Fractal: cool :) 13:20:39 I'm working on less stupid default terminal settings now. :) 13:30:38 heh :) 13:33:52 Heh. I've put you in CREDITS. You from the US? 13:34:53 Fractal: hehe :) yes 13:35:16 Cool. 13:40:29 --- join: jamc (~user@as3-6-8.asp.s.bonet.se) joined #forth 14:00:45 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 14:00:45 --- quit: Soap- (Read error: 104 (Connection reset by peer)) 14:31:44 --- join: air (~brand@12-254-199-50.client.attbi.com) joined #forth 15:01:01 --- quit: jamc () 15:05:41 --- quit: tathi ("leaving") 15:06:34 --- quit: Herkamire ("home again soon") 16:24:02 --- join: tathi (~josh@ip68-9-68-50.ri.ri.cox.net) joined #forth 16:28:58 --- quit: I440r ("bbl") 17:12:58 --- quit: tathi ("leaving") 18:13:45 --- quit: cyberlok (Read error: 104 (Connection reset by peer)) 18:16:21 --- part: highlaender left #forth 18:56:38 --- join: Speuler (~l@mnch-d9ba4604.pool.mediaWays.net) joined #forth 18:56:51 'morning 18:57:01 'ello 18:58:54 Soap`: there's a mountain with circular circumference, natural reserve in nz . mount something. looks like an extinct or dormant vulcano. know that one 18:59:03 ? 18:59:29 the natural reserve is also pretty circle shaped, just around the mountain 18:59:48 possibly mt eggmont? 18:59:57 could well be. 19:00:10 That's in the north island, I'm in the south... I'm not too good at NI geography 19:00:20 some weeks ago there was a great satellite image on earthscience, hi res 19:00:46 about 4000x3000 or so resolution 19:00:47 earthscience? 19:01:08 thought you might want to know or want to have image 19:01:20 i still got it somewhere 19:02:04 I'm so bored I'd watch paint dry. Dig it out :D 19:02:22 the difference of texture between natural reserve and cultivated land looks striking 19:02:47 oh it was on earthobservatory 19:03:19 t'is far from where you live ? 19:04:19 I'd guess about four or five hundred km 19:06:11 --- join: ChillySpy (ChillySpy@ppp252.ppp6.cleveland.nccw.net) joined #forth 19:07:04 can't find the very big one now. this one is just big: 19:07:06 http://eol.jsc.nasa.gov/sseop/images/EO/highres/STS110/STS110-726-6.JPG 19:07:44 mount taranaki 19:09:54 That looks very very cool 19:10:05 uhm 19:10:20 http://soap.wotshire.ws has pictures close to where I live. 19:10:27 No overhead satalite, tho :) 19:10:27 is Forth also Fourth? 19:11:27 ChillySpy: it would have been "fourth" is the os it was developed under would have supported more than 5 letters for file names 19:11:59 so is it the same? haha 19:12:45 discoverer's intentions was to say "fourth generation language" 19:14:47 ah. "access to high res has been suspended while nasa evaluates..." (4000x4000) 19:15:00 still got in on my notebook 19:15:10 think so 19:16:37 any of you guys use Forth in windows? 19:17:51 ? 19:19:34 Soap`: beautiful 19:21:37 It's all 1-2 days hike from my house :D 19:21:39 Chilly, not I 19:22:03 Soap` - do you know of any forths for windows 19:22:56 try ftp://ftp.taygeta.com/pub/Forth/Compilers/native/windows/Win32For/ 19:29:20 --- join: Herkamire (~jason@ip68-9-58-75.ri.ri.cox.net) joined #forth 19:29:29 --- quit: Herkamire (Client Quit) 19:30:58 --- join: Herkamire (~jason@ip68-9-58-75.ri.ri.cox.net) joined #forth 19:31:11 I, have special needs 19:32:23 --- quit: Speuler ("I, have special needs") 19:34:58 --- join: Speuler (~l@mnch-d9ba493f.pool.mediaWays.net) joined #forth 19:55:05 --- quit: ChillySpy () 20:16:40 --- join: bugslayer (~thin@h68-146-166-145.cg.shawcable.net) joined #forth 20:18:01 hi speuler 20:18:09 hi bug 20:18:17 check your privmsgs 20:18:24 i just msged you.. 20:18:53 hi 20:19:11 can i dcc you a file? 20:19:22 behind fw 20:19:22 some forth code 20:19:24 ah 20:19:44 sendfile ? 20:20:40 i'm wondering how to create a dynamic 2 dimensional array in forth.. 20:20:42 any tips? 20:21:21 the trick is the dynamic part... 20:21:27 hmm 20:21:27 well 20:21:28 not really 20:21:45 i could probably hack it out 20:21:50 it would just be really lame or something ;) 20:24:45 bugslayer: consider allocate to stuff in the data 20:24:59 whats the diff with allot and allocate 20:25:53 bugslayer: you can release and resize mem, no need to dealloc in specific order, can dealloc after having compiled anything after allocate 20:26:37 allot: static , allocate: dynamic 20:33:30 --- quit: bugslayer ("later") 20:37:06 --- quit: galexand ("sleep") 20:48:09 --- quit: Herkamire ("bedtime") 21:18:08 --- join: paperclip (~joe@ip68-11-78-14.no.no.cox.net) joined #forth 21:28:50 --- join: Starving (~l@mnch-d9ba493f.pool.mediaWays.net) joined #forth 21:42:45 --- quit: Starving ("using sirc version 2.211+KSIRC/1.1") 21:57:18 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 21:58:32 hi, who's alive ? 22:02:11 i speak from the grave 22:02:31 :) 22:02:49 do u know any forth what can compile itself ? 22:03:24 perry/laxen f83 :) 22:03:39 elastic 22:04:01 both msdos ... 22:04:31 r- or p-mode ? 22:04:38 r 22:06:15 elastic kernel can metacompile already - no need to load metacompiler extensions 22:07:57 good, will look 22:08:08 log is on, URL please ? 22:08:27 Serg_Penguin: the server it was on is down now 22:08:43 :( 22:08:52 may be back on another server within this month 22:09:57 probably on forthfreaks.net 22:10:44 i loked at my forths collection, found what spf37? coan compile itself - it's stated in readme, didn't try 22:12:18 probably on forthfreak.net 22:18:31 --- join: ianhome (~ian@12-249-67-169.client.attbi.com) joined #forth 22:19:14 hi ianhome ! 22:19:21 hea 22:19:24 sup 22:20:04 w/ whom i was arguing about forths capable of compiling self ? 22:20:07 w/ u ? 22:20:09 --- part: paperclip left #forth 22:22:14 ianhome=bugslayer ? 22:22:44 lol bugslayer - kewl nick !!! 22:27:34 newp! 22:27:59 newp ? 22:28:07 no 22:33:20 is that some non english language joke? 22:33:21 hehe 22:34:32 need 2 c@tch zzz . night all 22:34:41 --- part: Speuler left #forth 22:34:51 --- quit: ianhome ("Leaving") 22:34:56 i just imagined myself w/ bloody dagger, slaying (program) bugs on my CRT 22:40:49 while coding Forth, i almost unlearned to read C... 23:12:01 z 23:19:22 --- join: adu (~andrew@dsl-64-130-166-225.telocity.com) joined #forth 23:33:03 --- part: adu left #forth 23:51:39 --- quit: Serg_Penguin (Read error: 110 (Connection timed out)) 23:59:59 --- log: ended forth/02.10.09