00:00:00 --- log: started forth/02.08.08 00:00:38 forth will conquer the universe, muahahahahah! :P 00:00:53 i just emailed both chuck moore and jeff fox 00:01:10 gotta get their blood boiling, gotta get them discussing forth with me 00:01:32 cause i see myself as a go getter, i'm the man to make something happen 00:01:52 i'm a lazy coder 00:01:56 but i'm an entrepreneur 00:02:07 and i LOVE disruptive technology 00:20:01 --- quit: I440r_ () 03:03:33 hey! anybody awake? 03:03:48 http://c2.com/cgi/wiki?ExampleForthCode 03:05:21 : IMMEDIATE? -1 = ; 03:05:21 : NEXTWORD BL WORD FIND ; 03:05:21 : NUMBER, NUMBER POSTPONE LITERAL ; 03:05:21 : COMPILEWORD DUP IF IMMEDIATE? IF EXECUTE ELSE COMPILE, THEN ELSE NUMBER, THEN ; 03:05:22 : ] BEGIN NEXTWORD COMPILEWORD AGAIN ; 03:05:22 : [ R> R> 2DROP ; IMMEDIATE ( Breaks out of compiler into interpret mode again ) 03:05:33 ------------- 03:06:24 the definition of NUMBER, seems bugy 2 me. it does no , doesit? 03:07:04 shouldnt it look like : NUMBER, POSTPONE LITERAL NUMBER , ; ? 03:57:27 --- quit: Soap` (Read error: 110 (Connection timed out)) 04:02:20 --- join: cleverdra (julianf@0-1pool36-166.nas2.florence1.sc.us.da.qwest.net) joined #forth 04:17:03 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 04:17:13 hi 05:04:49 hi! 05:04:56 whats up, man? 05:20:42 --- join: FareAway (~fare@samaris.tunes.org) joined #forth 05:23:22 --- quit: Serg_penguin (Read error: 110 (Connection timed out)) 05:44:10 --- quit: FareAway (Read error: 113 (No route to host)) 06:04:26 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:04:36 hi 06:06:01 --- quit: Serg_penguin (Client Quit) 06:11:36 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:11:52 hi 06:14:07 --- quit: Serg_penguin (Client Quit) 06:40:25 --- quit: Mongrel ("Connection reset by pheer") 07:01:55 --- join: Mongrel (~ant@ool-435249eb.dyn.optonline.net) joined #forth 07:45:46 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 07:46:06 hey, kc! 07:46:11 re onetom 07:46:19 * kc5tja just woke up. 07:46:27 have u sen me latet question? 07:46:33 latest 07:46:42 No. 07:46:56 http://c2.com/cgi/wiki?ExampleForthCode 07:47:17 : IMMEDIATE? -1 = ; 07:47:17 : NEXTWORD BL WORD FIND ; 07:47:17 : NUMBER, NUMBER POSTPONE LITERAL ; 07:47:17 : COMPILEWORD DUP IF IMMEDIATE? IF EXECUTE ELSE COMPILE, THEN ELSE NUMBER, THEN ; 07:47:17 : ] BEGIN NEXTWORD COMPILEWORD AGAIN ; 07:47:19 : [ R> R> 2DROP ; IMMEDIATE ( Breaks out of compiler into interpret mode again ) 07:47:25 [12:15] the definition of NUMBER, seems bugy 2 me. it does no , doesit?[12:15] shouldnt it look like : NUMBER, POSTPONE LITERAL NUMBER , ; ? 07:48:00 No 07:48:03 It shouldn't. 07:48:14 :( why? :) 07:48:25 Because LITERAL is an immediate word that compiles a literal. 07:48:35 What happens on machines that use native-code compilation? 07:48:50 hmmm.... 07:48:57 , clearly won't work because injecting a number directly into the instruction stream will cause the program to crash. 07:49:14 So LITERAL is responsible for emitting the proper code to push a literal onto the stack. 07:49:36 but what does postpone do w literal? 07:49:52 LITERAL is an immediate word. 07:49:56 yup 07:50:00 (WHY? I have *NO* idea.) 07:50:09 and how does postpone handles it? 07:50:44 Postpone causes its compile-time semantics to run at execution time instead. 07:50:47 POSTPONE LITERAL is [COMPILE] LITERAL is LITERAL-AT-RUNTIME-OF-THIS-WORD 07:50:54 ah, ithink, im getting the point... 07:51:28 (I've never liked LITERAL as an immediate word.) 07:51:39 LITERAL has no business being immediate. 07:51:40 ok, now its clear. thx 07:51:57 I'll never forgive the ANSI committee for that. 08:27:35 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 08:52:46 proteusguy: hi. where does your name come from? i know about an electronics sw pkg developer company named proteus. their schematic sw is isis and the pcb drawing prg is ares 08:57:14 --- join: GilbertBSD (~gilbert@max1-15.dacor.net) joined #forth 08:58:40 hi gil! 08:58:47 hi One tom 08:58:51 how is forth ? 09:00:24 ldfkjh+!(=Ö/)+!=Z)ÖF!GI+dkfhgkjhdfkhgkjhgkjshkfgOJ%/OIJ 09:00:45 is that right? 09:01:04 sorry, twas lil guy is playing here beside me :) 09:01:09 GilbertBSD: I don't know what your problem is, but that's perfectly readable Forth to me. :D 09:01:21 hahaha 09:03:54 yeah, that's one word. I wonder the definition is. 09:04:16 bad, though, to have ) in the name =( 09:05:09 it looks more like j/apl than forth though. 09:05:25 perfect J 09:09:46 --- quit: proteusguy (Connection timed out) 09:09:53 Hehe :) 09:09:55 Befunge 09:13:07 Gotta go... work time. 09:13:09 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 09:16:01 --- part: GilbertBSD left #forth 10:01:48 --- join: ayrnieu (julianf@0-1pool36-166.nas2.florence1.sc.us.da.qwest.net) joined #forth 10:02:24 --- quit: cleverdra (Read error: 104 (Connection reset by peer)) 10:02:54 --- nick: ayrnieu -> cleverdra 10:07:32 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 10:23:02 --- join: I440r (~mark4@1Cust28.tnt1.bloomington.in.da.uu.net) joined #forth 10:23:28 howdy i440r 10:23:31 read the article yet?! :P 10:23:44 * futhin is gonna nag you until you do ;) 10:23:53 well 10:23:54 naww 10:23:57 no just got up brb, fucking wrong version of mirc is running 10:23:58 i don't care :P 10:23:59 im sure i upgraded 10:24:04 --- quit: I440r (Client Quit) 10:26:24 --- join: I440r (~mark4@1Cust28.tnt1.bloomington.in.da.uu.net) joined #forth 10:28:05 what article? there's a new article somewhere?? ;-) 10:42:09 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 10:52:47 --- join: proteus (~irc@24-197-147-197.charterga.net) joined #forth 11:09:40 --- quit: proteusguy (Read error: 110 (Connection timed out)) 11:47:41 --- quit: cleverdra (Read error: 104 (Connection reset by peer)) 12:09:31 --- quit: proteus (Connection timed out) 13:29:51 --- join: empirion (empirion@66.183.118.199) joined #forth 13:42:22 http://www.zope.org/Members/cytux/ZForth 13:53:07 --- join: tcn (tcn@tc4-login16.megatrondata.com) joined #forth 14:01:19 --- quit: tcn ("Leaving") 14:01:38 tcn dood 14:01:39 argh 14:01:45 missed him heh 14:02:39 what do u want 2 ask from him? 14:03:33 not much hehe 14:03:40 im doing the assembler extension for isforth now 14:03:49 ah, c 14:03:51 was gona get him to help maybe :) 14:07:14 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 14:08:30 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 14:15:32 hi 14:15:41 back from work? 14:24:46 --- nick: kc5tja -> kc-food 14:37:27 --- quit: goshawk` ("Leaving") 14:48:53 --- nick: kc-food -> kc5tja 14:51:39 --- quit: empirion (Read error: 104 (Connection reset by peer)) 15:02:48 empirion <-- a new guy ? 15:04:16 cmz so 18:04:48 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-132.vienna.va.fcc.net) joined #forth 18:04:52 hiya all 18:05:00 hiya I440r!!! 18:06:24 Howdy :) 18:06:39 I440r: ok, mind explaining how this dual assembler syntax works? 18:06:46 hiya kc5tja :) 18:07:35 tbw! 18:07:46 :))) 18:10:20 I440r: well? 18:10:26 sure 18:10:30 hang on :) 18:10:46 each instruction will have a word associated with it 18:10:50 mov ..., ... 18:11:05 the first thing each of these words does is call a; 18:11:11 a; does NOT return 18:11:21 it stores the return address away 18:11:24 heres the code for a; 18:11:36 0 var ?a; \ address of word to complete last instruction 18:11:36 : a; \ all instruction words start with an a; 18:11:36 ?a; \ get address of word to complete previous 18:11:36 r> !> ?a; \ save address to complete current 18:11:36 dup ?: \ is there a previous instruction to assemble? 18:11:37 >r \ yes - return to code to assemble it 18:11:39 drop ; 18:11:50 ?a; is initially 0 - its zeroed by 'code' 18:11:52 so when we tyoe 18:11:54 code foo 18:11:58 mov ax, # 3 18:12:00 ... 18:12:21 mov is executed but it only gets as far as executing the a; it starts with 18:12:26 its return address is stored in ?a; 18:12:45 ax, executes and sets a flag saying that ax is hthe destination register 18:12:52 # executes saying there is an immediate 18:12:56 3 gets left on the stack 18:13:00 on the NEXT instruction 18:13:07 mov bx, ax ; or something 18:13:27 the MOV does not return, it retunrs instead to the MOV of the PREVIOUS instruction 18:14:04 so we have all the info we need to build the opcodes by the time the MOV or whatever word actually execues 18:14:10 if we NOOPIFY a; we can have 18:14:15 5 # ax, mov 18:14:16 hmm...it sounds like a halfway house between interpreting and compiling mode 18:14:20 5 gets put on the stack 18:14:29 # executes saying we have an immediate 18:14:37 ax, executes saying ax is the destination register 18:14:48 MOV executes, calls a; which does nothing and returns 18:14:58 and.... we have all the info we need to build the opcode :) 18:15:47 : a; ?a; @ r> ?a; ! dup if r> else drop then ; 18:16:00 thats basically a; but ive coded it woith var's instead of variables 18:17:00 I'll have to ponder on this... 18:17:01 we basicakly pipe the return address of a; through a delay line :) 18:17:24 we call a; for every instruction word but it always returns to the PREVIOUS instruction :) 18:18:30 end-dode does an a; to complete the last instruction 18:18:48 but as we never actually RETURN from that it has to be the last thing that end-code does 18:19:18 : i: 18:19:19 : \ create the instruction word 18:19:19 compile a; ; \ start word with an a; 18:19:19 \ ------------------------------------------------------------------------ 18:19:19 i: aaa $37 c, ; 18:19:19 i: aas $3f c, ; 18:19:32 i: creates a simple 1 byte instruction 18:19:34 so if i do 18:19:35 code foo 18:19:38 aaa 18:19:40 aas 18:19:43 end-code 18:19:51 the aaa gets compiled when we call aas. 18:19:59 the aas gets compiled when we call end-code 18:21:36 so aaa is basically a : aaa a; $37 c, ; 18:21:48 im gona try make it so i can do 18:21:53 $37 i: aaa 18:21:57 I see...so the idea is to kind of buffer the instruction parts until it encounter the next assembly "statement" (however that is meant), whereupon that buffer get interpreted, eh? 18:22:09 yes 18:22:35 hehe its making 'defered' words out of each instruction :) 18:23:38 interesting...! 18:24:25 its not realy a defered word in teh usual sense 18:24:50 its a defered word thats triggered by the next word :) 18:25:07 pasm and pasm366 use a similar mechanism but not the same 18:25:14 i dont understand that one fully 18:25:20 pasm is the one in fpc 18:27:00 I never have used fpc, so I'm not familiar with those stuff 18:33:29 appendix d: instruction set reference from intel 18:33:33 FUCKED UP!!!!!!!!!!! 18:33:35 WRONG!!!!!!!!!!!!! 18:33:46 it gives insb and outsb as having opcode $aa 18:33:53 insb is $6c 18:33:59 outsb is... 18:34:30 which manual? 18:34:30 $6e 18:34:50 hang on ill find out :) 18:35:55 i was assuming this appendix d is from their software devel manual 2 18:36:00 but that only has appendix a and b 18:36:04 maybe this isnt an intel dox 18:36:19 or maybe they dont ship it with the downloadable manual 18:36:29 hehe...."checkk before flaming" ;) 18:36:30 The Intel docs I have have the correct opcodes. 18:37:01 it has the same format as other intel dox and its in pdf format, very professionaly done 18:37:03 but WRONG 18:37:19 thats 4 instructions ive found wrong in it and so far ive only looked at the EASY ones 18:37:44 heh...interesting to know...I only have 386 dox, plus NASM x86 dox 18:37:47 and the only reason i found them is because i saw that two instructions have the same opcode 18:38:13 the nasm doc is good but the information is badly formatted for someone wanting to write an assembler 18:39:23 brb 18:39:49 --- nick: TheBlueWizard -> tbw-afk 18:50:28 --- nick: tbw-afk -> TheBlueWizard 18:50:32 back 18:51:16 you don't have to let anyone know when you are gone, i440r could've kept on ranting ;) 18:53:14 :) 18:53:23 heh 18:53:52 that wasnt a rant 18:53:55 it was a mini rant 18:53:58 i was already finished 18:54:42 lol 18:54:51 what rant? :) 18:55:02 exactly! 18:55:39 "FUCKED UP!!!!!!!" 18:55:43 that's a rant in my book :) 18:55:47 <-- also likes to rant 18:55:52 :) 18:56:44 --- mode: ChanServ set +o futhin 18:56:55 hiya futhin 18:57:01 lol 18:57:06 --- topic: set to 'http://www.msmisp.com/futuretest/Forth's_Dilemma.htm | Forth: using bits without limits | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' by futhin 18:57:20 --- mode: futhin set -o futhin 18:57:28 thebluewizard: check out http://www.msmisp.com/futuretest/Forth's_Dilemma.htm :) 18:58:42 * TheBlueWizard is checking it out now 19:04:05 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 19:05:03 that "high profit" is happening everywhere nowadays...for example, ever notice that restaurants serve up big meals now? why? cuz they get bigger amount of money to line their pockets that way 21:53:05 --- log: started forth/02.08.08 21:53:05 --- join: clog (nef@bespin.org) joined #forth 21:53:05 --- topic: 'http://www.msmisp.com/futuretest/Forth's_Dilemma.htm | Forth: using bits without limits | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' 21:53:05 --- topic: set by futhin on [Thu Aug 08 18:57:06 2002] 21:53:05 --- names: list (clog njd kc5tja I440r_ Soap` Mongrel @ChanServ Fractal futhin onetom rob_ert sif) 21:58:58 err i think sp, should be an illegal register no ? 21:59:10 mov sp, xxx in linux ? 21:59:11 heh 22:00:47 If you *REALLY* want to do that, I guess you can. 22:00:55 But mov esp, xxx can be useful in some cases. 22:01:07 well yes. ESP, will be supported but NOT sp, 22:07:47 how would you write mov ax, bx in your assembler ? 22:07:58 ax, bx mov or bx ax, mov 22:18:21 ooh hehe push eip could be encoded as 22:18:25 call L1 22:18:27 l1: 22:18:30 :) 22:18:51 * kc5tja nods :) 22:19:13 would do that as a macro tho prolly 22:19:54 (not planning on doing so, just an observation :) 22:20:21 Hehe :) 22:21:23 http://c2.com/cgi/wiki?FsForthForDos -- Check it out. (I'm thinking of using that Wiki temporarily as an online documentation repository until I can get some decent system setup here) 22:25:12 what is a wiki ? 22:25:21 i still havnt figured that out 22:27:28 It's a community whiteboard. 22:28:02 anyone can write anything they want? 22:28:19 its basically a wall anyone can graphiti ? 22:28:20 Wiki Wiki in Hawaiian means "really fast". Wikis allow one to edit webpages very quickly. It's automatic hyperlinking engine creates a fully meshed and indexed sites nearly instantaneously. 22:28:21 Yes. 22:29:04 Some of the more recent Wikis are protected, but once authenticated, you can do whatever you want to any page you want. 22:29:56 u mean i can edit YOUR page ? 22:30:28 isnt that subject to abuse ? 22:30:38 Like what you just did? 22:31:04 ? 22:31:10 My edits are gone, completely. 22:31:16 err. no 22:31:21 i didnt touch nuttin 22:31:25 kc5tja: i just checked the wiki 22:31:31 there was nothing 22:31:39 i went to the url you gave me, looked at it and closed it 22:31:41 NO edits 22:31:41 (i checked it a few minutes ago 22:31:45 yeah 22:31:46 no edits 22:31:59 i didn't see anything written 22:32:00 that is 22:32:23 It's gone. 22:32:26 Someone just hosed it. 22:32:42 i get the fs forth for dos page 22:32:48 that sucks 22:32:49 So yes, it's completely open to abuse. 22:33:02 kc5tja: try the sleepless night forth wiki 22:33:13 hey 22:33:15 the stuff is back 22:33:28 there's content at c2 fsforthfordos 22:34:12 Yeah. 22:34:24 I find it coincidental that I440r mentions it, and it happens. 22:34:35 Then whoever it is realizes that I noticed it, and puts it back. 22:34:40 Without good formatting at that. 22:34:44 lol 22:34:47 not me 22:35:08 kc5 i would not ever do anything distructive like that 22:35:10 not even as a joke 22:36:27 nor me 22:36:44 seems very bizarre 22:41:24 erm so mov [eax], bx would need an operand override ? 22:41:43 assuming 32 bit mode (im not supporting 16 bit mode) 22:41:44 Yes 22:42:47 so any time i use 16 bit reg as a source or destination ill need an operand override - ok 22:43:05 I restored the original text from my browser's cache, BTW...that's why it came back. 22:43:28 so its realy not there ? 22:43:49 It is again, yes. 22:43:55 ok 22:43:57 I just said, I restored it from cache. 22:43:57 :) 22:44:14 When futhin said, "Oh, it's back again," that was me. 22:44:48 Sounds like the wiki could use some sort of rollback feature? 22:45:05 Unfortunately, I'm not an administrator of the site. 22:45:29 :/ 22:45:29 I don't think it stores the pages using any form of content versioning technology. 22:45:43 It's literally the first Wiki ever written. And it's in *shudder* Perl. 22:46:20 lol 22:48:33 Fortunately, I got everything "backed up" in my notebook (I wrote it there first). 22:48:43 I only posted it on the Wiki so you folks could see it. :) 22:49:17 hehe im off to bed (actually to code in bed :) 22:49:20 nite folx 22:49:35 --- quit: I440r_ ("abort" insufficient coding being done"") 23:27:14 --- join: sbk_ (~kbs@dsl-65-184-98-221.telocity.com) joined #forth 23:27:34 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 23:30:47 --- quit: sbk_ (Client Quit) 23:36:50 --- quit: njd (Read error: 104 (Connection reset by peer)) 23:55:33 OK, I'm going to bed now. 23:55:41 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:59:59 --- log: ended forth/02.08.08