[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

0X0ACE is back, who wants to have fun

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 57
Thread images: 5

File: Screenshot (6).png (50KB, 1020x975px) Image search: [Google]
Screenshot (6).png
50KB, 1020x975px
0X0ACE is back, who wants to have fun
>>
>>59642690
whats this?
>>
>>59642713
just a game
>>
Some resources:

https://en.wikipedia.org/wiki/Automatic_Computing_Engine

https://en.wikipedia.org/wiki/First_Draft_of_a_Report_on_the_EDVAC

https://fa82ee93-a-62cb3a1a-s-sites.googlegroups.com/site/michaeldgodfrey/vonneumann/vnedvac.pdf?attachauth=ANoY7cqGBt2WCs-C49_ZC5O1hPMScJzxYWYTbKCgS3TNyd2jv_oRPeSYJ7vH-e0g68NUcVqTKEFF84Un4Lui8jU0nax6UNT7X7Vv5kyoY_MiFHPgLWJW5ZhkDlcpml3CmM_tmer_ynJTMF9jBVGox33ai5A1yGRUTTOtLeBpDd0HsvFcrEh_pbWufwSqviW7blBPaTIDU67fd_llm3wheFvR78cSy8KipXEQMb_SdePVmF_7CGSRZj0%3D&attredirects=0

https://en.wikipedia.org/wiki/Universal_Turing_machine

http://www.npl.co.uk/news/pilot-ace-npls-legacy
>>
Seems like a really basic disassembly and manual stepping exercise. How the fuck do you respond in 5 seconds
>>
>>59643191
I'm assuming you have to script it. If they dynamically generate the binary every time, you would need to create an emulator for their 10-instruction machine, run the binary there, and submit the result from your program.
>>
>>59643392
That's not very hard to do. Think about it. What is that machine? Just a loop. Make an array, load the binary into it, set the instruction pointer to the beginning of the array and start looping over that shit.

The loop (1) reads an instruction off of the array while also incrementing the instruction pointer, (2) figures out what the fuck it is according to the described instruction format and, finally, (3) just does whatever the hell it's supposed to do based on the data obtained in step 2. Add some 16-bit globals, call them registers and we're done.

Creating the execution engine gives you the instruction decoder for free and will spare you the chore of manually computing the final state. I just didn't expect they'd reuse that fictional architecture often enough to make doing that worthwhile.
>>
>>59643625
Never said it was hard, just that it's not as trivial as the case where the binary would be static.

How would you even "manually compute the final state" bypassing the execution of the binary?
>>
http://80.233.134.207/0x00000ACE.html
>>
>>59643942
>How would you even "manually compute the final state" bypassing the execution of the binary?

Using my head.

My initial approach to the problem was to write a simple disassembler and execute the code myself. It's less work and more fun when you have small programs and simple architectures such as the one described.

If the thing dynamically generates new programs, then I agree it's a lot better to implement the machine and just feed it the program.
>>
>>59644577
Ah, yes, if they have a fixed binary I would probably not bother writing a single line of code desu.
>>
I am stupid, I gotta study some more shit to do this kind of thing good luck to the ppl who are doing it.
>>
>>59644851
You just gotta learn how processors work. Here's a nice tutorial:

http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/

It's simple stuff, and understanding this sorta thing somehow puts people into the top 95% of programmers worldwide. This is how you implement things like programming languages. Of course, they're far more sophisticated in many ways... But the opcode interpreter can still be found if you look hard enough.
>>
>>59645049
I'll take a look at it, thanks hopefully I won't be bottom 95% programmers.
>>
>>59642690
Can someone explain? I feel stupid. In the example I see:
Code 0x00, move (first 8 zeros)
Mode 0x1, reg (0001)
Destination 0x0, register 0? (00)
Source 0x2, but it is optional and not specified in mode (10)
Imm 6815 (last 16 bits)

Im interested but somehow cant figure how the optional addresses are supposed to work.
>>
File: thinking.webm (60KB, 498x498px) Image search: [Google]
thinking.webm
60KB, 498x498px
>>59642690
>fun
what did he mean by that?
>>
https://2ch.hk
/b/res/149931733.html
>>
File: hack.ru.jpg (125KB, 960x960px) Image search: [Google]
hack.ru.jpg
125KB, 960x960px
>>59646912
What is this russian shit
>>
>>59647959
It's interesting they say they have been watching us in various occasions how did we not know.
>>
>>59646151
0x1 mode probably means the optional src-reg parameter gets ignored
>>
>>59648022
They're watching us? This thread?
>>
>>59648052
yes, they are also working on it
>>
File: 14908385389520.png (13KB, 588x576px) Image search: [Google]
14908385389520.png
13KB, 588x576px
>>59646151
I also do not understand this. It turns out that, 6815 value moved to r0 register, but no r1 as written in the example?
>>
>>59646204
He meant you're a faggot milla
>>
>>59642690
>No subroutines
>No indirect addressing or indirect jumping

What a piece of shit instruction set
>>
Last one was easy. I don't know shit about this one.
fug
>>
>>59648103
I wish code tags could allow everyone to execute Javascript like Stack Overflow's snippets. I'm on a temporary laptop and just too lazy to set up a proper development environment for C or something.

Aw what the fuck... I'm gonna give it a try in jsfiddle or something.
>>
>>59648104
Sounds like it. Also the 9f 1a in the hex should be 1a 9f, unless that's some crazy interpretation of little endian.
>>
>>59644250
how do I actually get to the OP page? I just get a missing key error.
>>
>>59648440
The binary is in little endian and the hex is in big endien.
>>
>>59648446
start playing

http://80.233.134.210/
>>
>>59648446
Solve the last challenge. It's still up for some reason.
>>
So I finished my VM to run these programs. The problem is that the creator was very vague in describing his instruction set so I probably have a lot of details wrong. I'm having trouble decoding the opcode due to the instructions having a variable length. Right now I'm treating the 0x04, 0x0a, 0x0c, and 0x0d as 4 byte instruction. It seems to work ok but then it messes up down the road.
Am I missing one or can opcodes very length just based on the mod of the instruction.
>>
>having to solve a shit ton of browser scripting puzzles before tackling the actual hard one
>script your browser so it always include a header
>script your browser so it scrapes the page's "captcha" and generates a number inside the returned interval

Fucking annoying. I'm interested in the OP's challenge, not this web scraping tutorial
>>
>>59648603
aren't the instructions always 16 bits?
the example provides a 32 bit string which has 16 instruction bits despite being in reg mode (implies src-reg is irrelevant?)
>>
>>59648607
The link to the current challenge is in the thread. You just need to modify your header to access it.
>>
>>59648603
What you thinking about this? >>59648104 The 6815 value in the example is realy writting to r1 register. If this is true, why in "dest-reg" value is equal 0x00?
>>
>>59646151
You have before yourself a move instruction.
It's in single register mode. Only one register is specified.
It has an immediate value attached.

Can you move a register to an immediate? No.
Can you move an immediate to a register? Yes.

Ignore the source register. It is noise.
>>
>>59648803
But specified r0 register (00), not r1, how in example written!
>>
>>59648757
0000 0000 = move
0001 = r1
0010 = reg+imm mode
rest = 6815

endianness is fucking us
>>
>>59648757
This might be wrong, but here is how my vm interprets the example instruction.
MOV | 0x00 | 0b00000000
r0 | 0x00 | 0b00
r1 | 0x01 | 0b01
reg + imm | 0x02 | 0b0010
0x1A9F | 0x1A9F | 0b0001101010011111
So in C it would boil down to like
r1 = r1 + 0x9F1A;
I'm pretty sure I'm misinterpreting the meaning of what mod does.
>>
>you have 5 seconds to respond
wat
>>
>>59648906
Actually I think I'm an idiot. mod refers to the parameters that you give it. + is shorthand for and in this context. Looking at my disasm for the binary I'm working with only the jump instructions use 0x00 (immediate) mode.
>>
>>59648916
REE GET OUT
>>
File: Без имени-1.png (30KB, 595x331px) Image search: [Google]
Без имени-1.png
30KB, 595x331px
>>59648858
Like this? But, why?? All bits are mixed up!
>>
>>59648998
I... what
>>
Instructions are nominally 32-bit, but since the second half is just a 16-bit immediate, you can also think of it as a 16-bit instruction followed by constant data.

No RAM, stack appears to be the only memory, apart from program instructions/constant data which is in separate ROM.

Top 2 bits of address mode, and top 4 bits of opcode, are currently unused, and can probably be ignored by the emulator.

dest-reg, src-reg, and imm are optional depending on the instruction and address mode, basically you just have to use common sense.
>>
>>59648998
Take his picture and swap around the four bytes for mod and the four bytes for src,dest. Based off of my disassembly this is the right way to do it.
>>
>>59642690
What do I need to read to learn how?
>>
What's the logic behind the bit order?
>>
The ruskies came up with this

https://ideone.com/vUzIug
>>
Good night someone should OP tomorrow if thread dies
>>
>32-bit fixed width instruction set
>only 4 registers
Someone has fucked up in designing this.
>>
Does anyone know the format that the answer needs to be in? I finally finished my vm but I'm not sure of the formatting of the answer.
>>
Turns out the creator was a fag.
Spent hours debugging my machine. Turns out that when he says """logical""" he actually means bitwise.
>>
>>59650957
You just had to notice that instructions like OR r1, abcd are pointless if OR is logical.
>>
>>59650979
True. I just figured that his limited instruction set didn't include it because they might just be used for setting the zero flag for the jump instructions.
Thread posts: 57
Thread images: 5


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.