00:10:45 I have a way of setting a 64-bit register to -1 in 4 bytes, namely REX.W 83 reg/1 -1 00:11:46 is there a way to do it in 3 bytes or less? 00:13:49 Is that or with -1 as a sign-extended 8-bit immediate? 00:14:25 yes 00:15:19 I don't know anything better. 00:16:44 Hmm, 3 bytes is so short that you can brute-force search pretty easily. 00:24:50 -!- Argorok has quit (Ping timeout: 244 seconds). 00:25:41 one idea i had was SBB from itself after setting CF 00:26:22 unfortunately that one is also 4 bytes, not 3 00:26:27 -!- Lord_of_Life_ has joined. 00:26:57 it's 3 bytes for a 32 bit register tho 00:27:08 but so is the OR one 00:27:11 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:27:23 -!- pikhq has quit (Ping timeout: 264 seconds). 00:27:23 -!- yuu_ has quit (Ping timeout: 264 seconds). 00:27:39 -!- mich181189 has quit (Write error: Connection reset by peer). 00:27:39 -!- dnm has quit (Read error: Connection reset by peer). 00:27:41 -!- aarchi has quit (Read error: Connection reset by peer). 00:27:41 -!- integral has quit (Read error: Connection reset by peer). 00:27:42 -!- ProofTechnique has quit (Read error: Connection reset by peer). 00:27:44 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:28:14 -!- j4cbo has quit (Ping timeout: 246 seconds). 00:34:12 I have seen the suggestion to just disallow non-ASCII characters in the source code, which I agree. (This does not preclude having functions dealing with other character encodings (including UTF-8, although functions should not be forced to use Unicode!), or from putting data in other files if non-ASCII text is needed.) 00:40:04 [[Numbers]] M https://esolangs.org/w/index.php?diff=89516&oldid=89515 * PythonshellDebugwindow * (+2) /* Instructions */ fix typo 00:43:33 -!- j4cbo has joined. 00:43:57 -!- mich181189 has joined. 00:44:24 -!- aarchi has joined. 00:44:32 -!- dutch has quit (Quit: WeeChat 3.3). 00:46:10 -!- dutch has joined. 00:49:47 -!- mich181189 has quit (Ping timeout: 256 seconds). 00:49:47 -!- j4cbo has quit (Ping timeout: 256 seconds). 00:49:49 -!- aarchi has quit (Ping timeout: 268 seconds). 00:52:09 -!- mich181189 has joined. 00:53:20 -!- aarchi has joined. 01:01:21 -!- Argorok has joined. 01:03:45 -!- oerjan has joined. 01:04:41 -!- yuu_ has joined. 01:14:23 -!- pikhq has joined. 01:14:24 -!- j4cbo has joined. 01:14:36 -!- integral has joined. 01:24:36 -!- ProofTechnique has joined. 01:24:41 -!- dnm has joined. 02:42:46 oren: Oh, found one. 02:43:05 `asm pushq $-1; popq %rax 02:43:06 0: 6a ff pushq $0xffffffffffffffff \ 2: 58 pop %rax 02:43:20 oooh nice!!! 02:45:10 Brute force to the rescue! 02:45:37 Brute-forcing this was pretty funny in various ways. 02:57:08 yea this makes sense because x86-64 stack instructions do 64 bits by default, unlike the other ones that do 32 bits by default 02:58:52 i was wondering how to brute dforce it- it would be difficult to avoid getting killed by undefined instruction exception i would think 02:59:42 i guess you could run each 3 bytes into a dissasembler and grep for -1? 03:05:00 I fork a new process for each one. 03:06:04 Originally it was misbehaving in all sorts of sneaky ways. The child would jump into the middle of the parent's code and start spawning its own children, and so on. 03:06:24 I switched to fork+exec and worked around some blatant misbehaviors and it seems to be going OK now, though it's very slow. 03:06:39 I think ~2000 instructions per second is a pretty good speed for a modern CPU to be running instructions at? 03:07:33 It would probably be better to use a debugging API to write the relevant instructions to memory and single-step through them and then check register state, and handle SIGILL and so on that way. 03:08:36 Who knew that a brute-force search over the space of all programs would find some sneaky programs that manage to get around your various safeguards? 03:15:38 ah that's an good approach. that way the original state of the uhh searcher program isn't messed up at least 03:50:20 in fact, stack operations can be used to reduce the size of a lot of stuff 03:50:57 e.g. mov %rax, %rcx is 3 bytes while push %rax, pop %rcx is 2 03:55:32 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89517&oldid=89449 * PixelatedStarfish * (+72) 03:56:02 [[Special:Log/upload]] upload * PixelatedStarfish * uploaded "[[File:FACTORY SHOWROOM.png]]" 04:03:22 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89519&oldid=89517 * PixelatedStarfish * (+418) 04:04:04 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89520&oldid=89519 * PixelatedStarfish * (-62) 04:04:51 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89521&oldid=89520 * PixelatedStarfish * (+6) 04:05:17 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89522&oldid=89521 * PixelatedStarfish * (-5) 04:06:34 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89523&oldid=89522 * PixelatedStarfish * (+1) 04:08:04 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89524&oldid=89523 * PixelatedStarfish * (+2) 04:12:19 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89525&oldid=89524 * PixelatedStarfish * (-305) 04:14:02 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89526&oldid=89525 * PixelatedStarfish * (-1) 04:14:54 [[BrainSoup]] https://esolangs.org/w/index.php?diff=89527&oldid=89526 * PixelatedStarfish * (+23) 05:28:15 -!- ecs has quit (Ping timeout: 268 seconds). 05:30:12 -!- ecs has joined. 05:45:57 -!- oerjan has quit (Quit: Nite). 06:06:20 -!- arseniiv has joined. 06:24:08 -!- chiselfuse has quit (Remote host closed the connection). 06:24:33 -!- chiselfuse has joined. 06:29:36 [[Lento]] N https://esolangs.org/w/index.php?oldid=89528 * Xorol * (+77) Created page with "Lento is a variant of [[Python]] where each line takes 10 seconds to execute." 06:45:47 hei hei 06:51:10 the six bytes {0xFC, 0122, 0131, 0xF3, 0xA4, 0xC3} are sufficient for memcpy 06:53:17 thanks to shachaf, who discovered that I had completely overlooked the stack opcodes 06:55:50 What happen if you want to make a PGP signature for a message that already contains "-----BEGIN PGP SIGNATURE-----"? 06:57:44 I found RFC 4880 and will see if that will answer my question 07:04:32 It does; it says any line of the message starting with "-" must have "- " added in front. 07:51:53 -!- NotApplicable1 has joined. 07:54:30 -!- Kit has quit (Ping timeout: 260 seconds). 08:00:37 -!- ecs has quit (Read error: Connection reset by peer). 08:00:44 -!- ecs has joined. 08:06:45 -!- Sgeo has quit (Read error: Connection reset by peer). 08:21:10 -!- wareya has quit (Ping timeout: 260 seconds). 08:33:28 `asm .byte 0xfc, 0122, 0131 0xf3, 0xa4, 0xc3 08:33:32 ​/tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: junk at end of line, first unrecognized character is `0' \ /tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: junk at end of line, first unrecognized character is `0' 08:33:36 `asm .byte 0xfc, 0122, 0131, 0xf3, 0xa4, 0xc3 08:33:38 0: fc cld \ 1: 52 push %rdx \ 2: 59 pop %rcx \ 3: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) \ 5: c3 retq 08:38:01 -!- kspalaiologos has joined. 09:13:52 [[Special:Log/newusers]] create * Mellobacon * New user account 09:16:32 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=89529&oldid=89497 * Mellobacon * (+161) /* Introductions */ 09:24:52 -!- sknebel has changed nick to sebsel. 09:25:00 -!- sebsel has changed nick to sknebel. 09:30:52 -!- wib_jonas has joined. 09:32:00 shachaf: in the form of the {OR RAX, imm8} instruction, is the imm8 sign-extended or zero-extended? if it's sign-extended then {OR RAX, -1} should work 09:32:11 oren: ^ 09:32:14 let me look up the manual 09:32:35 -!- Koen has joined. 09:32:39 oh wait, that won't work 09:32:50 it won't be 3 bytes unless it's for RAX 09:32:52 RAX is cheating 09:34:04 "in fact, stack operations can be used to reduce the size of a lot of stuff" => yes, but that's usually a bad idea. it makes the decoder, the decoded operations loop cache, and the scheduler all work harder than they should 09:34:22 there's a good reason why the optimization manual recommends you to use one instruction instead of two whenever possible 09:41:42 My other ideas (I don't know what 64-bit x86 has or how many bytes they are, so they might not work) includes: zero and decrement, zero and bitwise NOT, XORN by itself, subtract from self with borrow; I don't know which if any of these will be work, and for which registers (they might be different depending which register you want)? 09:42:20 There might be even more confusing ways, whether involving floating points, address-based arithmetics, etc? I don't know. 09:42:57 Also, there might be some ways that depend on the previous state, which depending on the program you might be able to guarantee. 09:43:20 [[User:ArthroStar11]] https://esolangs.org/w/index.php?diff=89530&oldid=89465 * ArthroStar11 * (-1913) Blanked the page 09:45:23 the obvious idea is to reserve a register that has -1, then you can copy from that in 3 bytes 09:49:23 Yes, if your program doesn't use all of the registers for other purposes, then you can do that. 09:59:50 -!- Melvar has quit (Ping timeout: 260 seconds). 10:11:46 wib_jonas: There's no imm8 or for RAX. 10:12:18 Looking at https://www.felixcloutier.com/x86/or , the RAX variant takes imm32. 10:15:13 shachaf: sorry, you're right about that, I got my opcode table wrong. 10:15:51 ignore the OR stuff then 10:17:11 in that case I'd just recommend using one of the four-byte methods, like {OR reg, -1} with a sign-extended imm8 10:18:19 or in fact sometimes the seven-byte {MOV reg, -1} may be better, to avoid the false dependency 10:18:48 (or copy -1 from a register) 10:19:17 oh well 10:19:35 [[Madlad]] N https://esolangs.org/w/index.php?oldid=89531 * Mellobacon * (+1372) Created page with "=MadLad= '''MadLad''' is an esoteric programming language meant to be similar to C# but with a twist. MadLad is a very angry language and will yell at you for everything. Feat..." 10:23:19 [[Madlad]] M https://esolangs.org/w/index.php?diff=89532&oldid=89531 * Mellobacon * (+98) 10:25:30 [[Madlad]] M https://esolangs.org/w/index.php?diff=89533&oldid=89532 * Mellobacon * (+11) 10:32:59 wib_jonas: I did find a 3-byte method with push and pop, above. 10:41:40 why ...oh because of that stupid additional prefix that x86/64 needs to disambiguate modr/m registers. 10:41:59 so the obvious or rax,-1 needs 4 bytes 11:01:12 shachaf: yes, but I still don't recommend that 11:03:43 My brute-force program found a bunch of other things but they were mostly red herrings that relied on memory layout being in various particular ways. 11:24:33 [[List of ideas]] https://esolangs.org/w/index.php?diff=89534&oldid=89488 * ColorfulGalaxy (disambiguation) * (+99) Undo revision 89488 by [[Special:Contributions/Guy Fawkes Rep|Guy Fawkes Rep]] ([[User talk:Guy Fawkes Rep|talk]]) : Mentioned the Korean language 11:26:02 -!- earendel has joined. 11:44:52 -!- Melvar has joined. 13:15:23 -!- kspalaiologos has quit (Quit: Leaving). 13:40:50 -!- ProofTechnique has quit (Ping timeout: 260 seconds). 13:41:01 -!- integral has quit (Ping timeout: 256 seconds). 13:41:01 -!- pikhq has quit (Ping timeout: 256 seconds). 13:41:16 -!- aarchi has quit (Ping timeout: 268 seconds). 13:41:53 -!- dnm has quit (Ping timeout: 250 seconds). 13:42:09 -!- yuu_ has quit (Ping timeout: 256 seconds). 13:42:19 -!- earendel has quit (Ping timeout: 250 seconds). 13:42:28 -!- j4cbo_ has joined. 13:42:30 [[KonamiCode]] https://esolangs.org/w/index.php?diff=89535&oldid=89513 * GingerIndustries * (+111) Added <<< 13:42:30 -!- mich181189 has quit (Ping timeout: 268 seconds). 13:42:40 -!- dnm has joined. 13:42:40 -!- earendel has joined. 13:42:42 -!- j4cbo has quit (Ping timeout: 260 seconds). 13:42:42 -!- j4cbo_ has changed nick to j4cbo. 13:42:52 -!- integral has joined. 13:43:07 -!- Argorok has quit (Ping timeout: 268 seconds). 13:43:10 -!- pikhq has joined. 13:43:28 -!- pikhq has changed hostmask to sid394595@user/pikhq. 13:43:29 -!- ProofTechnique has joined. 13:43:34 -!- mich181189 has joined. 13:43:53 -!- aarchi has joined. 13:43:56 -!- Argorok has joined. 13:43:57 -!- yuu_ has joined. 13:44:09 -!- mich181189 has changed hostmask to sid268336@londonhackspace/mich181189. 13:56:02 -!- sprout_ has quit (Ping timeout: 246 seconds). 14:06:32 -!- wib_jonas has quit (Quit: Client closed). 14:09:29 -!- sprout has joined. 14:16:59 -!- yuu_ has quit (Ping timeout: 250 seconds). 14:17:02 -!- ProofTechnique has quit (Ping timeout: 268 seconds). 14:17:47 -!- pikhq has quit (Ping timeout: 264 seconds). 14:17:47 -!- dnm has quit (Ping timeout: 264 seconds). 14:18:02 -!- mich181189 has quit (Ping timeout: 240 seconds). 14:18:02 -!- j4cbo has quit (Ping timeout: 240 seconds). 14:18:17 -!- integral has quit (Ping timeout: 250 seconds). 14:18:23 -!- aarchi has quit (Ping timeout: 264 seconds). 14:19:17 -!- sprout has quit (Ping timeout: 264 seconds). 14:19:35 -!- Argorok has quit (Ping timeout: 264 seconds). 14:19:35 -!- earendel has quit (Ping timeout: 250 seconds). 14:22:20 -!- integral has joined. 14:22:20 -!- dnm has joined. 14:22:28 -!- mich181189 has joined. 14:23:10 -!- Argorok has joined. 14:23:27 -!- earendel has joined. 14:24:32 -!- ProofTechnique has joined. 14:25:55 -!- Koen has quit (Remote host closed the connection). 14:32:29 -!- sprout has joined. 14:32:37 -!- yuu_ has joined. 14:34:00 -!- j4cbo has joined. 14:36:55 -!- sprout has quit (Ping timeout: 250 seconds). 14:44:07 -!- sprout has joined. 14:44:37 -!- aarchi has joined. 14:52:52 -!- Sgeo has joined. 14:54:43 -!- pikhq has joined. 14:58:50 -!- dutch has changed nick to SweetLeaf. 15:02:47 -!- Koen has joined. 15:21:23 -!- earendel has quit (Quit: Connection closed for inactivity). 16:02:13 -!- APic has quit (Quit: [TLS] Client upgrade). 16:02:32 -!- APic has joined. 16:04:53 -!- simcop2387 has quit (Ping timeout: 250 seconds). 16:05:05 -!- earendel has joined. 16:05:35 -!- perlbot has quit (Ping timeout: 268 seconds). 16:11:55 -!- simcop2387 has joined. 16:12:13 -!- perlbot has joined. 16:29:41 -!- arseniiv has quit (Ping timeout: 245 seconds). 16:45:26 -!- arseniiv has joined. 17:19:49 -!- Trieste_ has changed nick to Trieste. 17:44:44 -!- SweetLeaf has changed nick to Spikeheron. 18:01:50 -!- wareya has joined. 18:44:35 [[Special:Log/newusers]] create * Twingamerdudes * New user account 18:49:48 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=89536&oldid=89529 * Twingamerdudes * (+269) /* Introductions */ 19:06:35 [[KonamiCode]] https://esolangs.org/w/index.php?diff=89537&oldid=89535 * GingerIndustries * (+38) 19:07:42 -!- Koen has quit (Remote host closed the connection). 19:12:33 -!- FreeFull has joined. 19:50:41 [[Rhoam]] M https://esolangs.org/w/index.php?diff=89538&oldid=71653 * SoundOfScripting * (+29) Added [[Category:Turning tarpits]] 19:52:06 hmm what if I used IP-relative addressing and put useful constants nearby outside the function 19:52:16 [[Wrapping Rhoam]] M https://esolangs.org/w/index.php?diff=89539&oldid=71655 * SoundOfScripting * (+29) Added [[Category:Turning tarpits]] 19:54:36 nah, there is no single-byte IP-relative offset 19:58:59 hmm... so gcc/clang load the value into a temporary register for arithmetic with a full 64 bit value 19:59:26 [[M?!]] M https://esolangs.org/w/index.php?diff=89540&oldid=88978 * Kaveh Yousefi * (-2) Changed the category tag Unimplemented to Implemented. 19:59:37 which I guess isn't so bad because there are all those extra general purpose registers 20:00:31 [[AEWNN]] M https://esolangs.org/w/index.php?diff=89541&oldid=89507 * Kaveh Yousefi * (+25) Added the category tag Output only. 20:06:23 [[Mash]] N https://esolangs.org/w/index.php?oldid=89542 * Twingamerdudes * (+3756) This is the wiki page for Mash 20:09:43 [[User:Twingamerdudes]] N https://esolangs.org/w/index.php?oldid=89543 * Twingamerdudes * (+489) my pfp page 20:40:12 [[Mash]] M https://esolangs.org/w/index.php?diff=89544&oldid=89542 * Twingamerdudes * (+29) This is the wiki page for Mash 20:52:40 [[Mash]] M https://esolangs.org/w/index.php?diff=89545&oldid=89544 * Twingamerdudes * (+465) This is the wiki page for Mash 20:53:46 [[Mash]] M https://esolangs.org/w/index.php?diff=89546&oldid=89545 * Twingamerdudes * (+13) Fixed formatting issues 20:54:08 [[Mash]] https://esolangs.org/w/index.php?diff=89547&oldid=89546 * Twingamerdudes * (-2) 20:55:02 -!- sprout_ has joined. 20:56:03 [[Mash]] M https://esolangs.org/w/index.php?diff=89548&oldid=89547 * Twingamerdudes * (+21) /* Syntax */ 20:58:29 -!- sprout has quit (Ping timeout: 268 seconds). 21:22:51 -!- arseniiv has quit (Ping timeout: 256 seconds). 21:48:22 -!- Koen has joined. 22:02:14 -!- Twingamerdudes has joined. 22:02:36 hello 22:06:12 [[Language list]] M https://esolangs.org/w/index.php?diff=89549&oldid=89503 * Twingamerdudes * (+11) Added mash 22:08:00 -!- Twingamerdudes has quit (Quit: Client closed). 22:12:07 https://www.youtube.com/c/gnembon/videos works at mojang now 22:21:47 -!- Twingamerdudes has joined. 22:21:57 ? 22:22:14 hi, Twin 22:22:33 hello 22:22:40 I made a esolang today 22:22:54 just put it on the esolang wiki 22:22:57 right here https://esolangs.org/wiki/Mash 22:23:08 how about you 22:23:32 [[Language list]] M https://esolangs.org/w/index.php?diff=89550&oldid=89549 * PythonshellDebugwindow * (+0) /* M */ Fix order 22:24:50 ? 22:28:25 [[Talk:Mash]] N https://esolangs.org/w/index.php?oldid=89551 * Twingamerdudes * (+218) Beginning of Mash Discussion 22:29:47 ? 22:30:42 [[Mash]] M https://esolangs.org/w/index.php?diff=89552&oldid=89548 * Twingamerdudes * (+12) /* Hello World */ 22:35:46 [[Category:Brainfuck equivalents]] https://esolangs.org/w/index.php?diff=89553&oldid=34092 * PixelatedStarfish * (+300) 22:36:31 [[Category:Brainfuck equivalents]] https://esolangs.org/w/index.php?diff=89554&oldid=89553 * PixelatedStarfish * (-37) 22:36:46 [[Category:Brainfuck equivalents]] https://esolangs.org/w/index.php?diff=89555&oldid=89554 * PixelatedStarfish * (+0) 22:42:20 What if you want to display text with a semicolon? Also, one example says +_^ for gather input and other one says _+^ for gather input, and the specification says "put ^ in front of the _". 22:51:25 you can't print text with the semi colon, the semi colon represents the end of the string, and for the _+^ problem, that was a typo 22:51:31 my bad 22:51:55 [[Mash]] M https://esolangs.org/w/index.php?diff=89556&oldid=89552 * Twingamerdudes * (+0) Fixed typo 22:52:00 well I fixed it now 22:55:15 -!- perlbot has quit (Ping timeout: 250 seconds). 22:55:47 -!- simcop2387 has quit (Ping timeout: 256 seconds). 22:57:42 hello 23:00:40 -!- simcop2387 has joined. 23:00:58 -!- Koen has quit (Quit: Leaving...). 23:08:45 -!- perlbot has joined. 23:11:05 OK 23:14:25 [[Mash]] https://esolangs.org/w/index.php?diff=89557&oldid=89556 * Twingamerdudes * (+189) /* Cat Program */ 23:15:12 [[Mash]] https://esolangs.org/w/index.php?diff=89558&oldid=89557 * Twingamerdudes * (+43) /* Syntax */ 23:19:31 [[Subleq]] https://esolangs.org/w/index.php?diff=89559&oldid=89475 * Shaman * (+26) 23:20:16 [[Subleq]] https://esolangs.org/w/index.php?diff=89560&oldid=89559 * Shaman * (+5) 23:28:13 -!- Cale has joined. 23:44:39 hello 23:49:14 -!- Twingamerdudes has quit (Quit: Client closed). 23:51:41 -!- rodgort` has quit (Quit: Leaving). 23:53:14 [[List of ideas]] https://esolangs.org/w/index.php?diff=89561&oldid=89534 * Guy Fawkes Rep * (-22) 23:54:37 [[Mash]] M https://esolangs.org/w/index.php?diff=89562&oldid=89558 * Twingamerdudes * (+24) Added Category Low level 23:56:24 [[Mash]] M https://esolangs.org/w/index.php?diff=89563&oldid=89562 * Twingamerdudes * (-13) /* Tips */ 23:57:25 -!- Twingamerdudes has joined.