Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

hey /prog/

Name: Anonymous 2012-02-10 19:21

improve my instruction set

1  - ALL -- Allocate
2  - FRE -- Free
3  - ADD -- Add
4  - SUB -- Subtract
5  - MUL -- Multiply
6  - DIV -- Divide
7  - WRT -- Write to memory
8  - MOV -- Move value
9  - SWP -- Swap values
10 - LAB -- Label
11 - GOT -- Goto
12 - CAL -- Call
13 - RET -- Return
14 - PUS -- Push stack
15 - POP -- Pop  stack
16 - MOD -- Modulo
17 - NOT -- Bitwise NOT
18 - AND -- Bitwise AND
19 - OR  -- Bitwise OR
20 - XOR -- Bitwise XOR
21 - LSH -- Left shift
22 - RLS -- Logical    Right Shift
23 - RAS -- Arithmetic Right Shift
24 - LCS -- Left  Circular Shift
25 - RCS -- Right Circular Shift
26 - CMP -- Compare two values (Binary)
27 - JMG -- Jump if the comparison register holds  1, or greater than
28 - JML -- Jump if the comparison register holds -1, or lesser than
29 - JME -- Jump if the comparison register holds  0, or equal to
30 - IRM -- Switch into indirect referencing mode
31 - DRM -- Switch into direct   referencing mode
32 - FAM -- Switch into floating arithmetic  mode
33 - IAM -- Switch into integral arithmetic  mode
34 - SPW -- Spawn a new thread
35 - WTF -- Wait for a  thread to finish executing
36 - DIE -- Kill the current thread of execution
37 - POS -- Size independant pop
38 - PEK -- Copy the first entry on the stack without removing it
39 - PKS -- Copy the first entry on the stack without removing it (Size sentisive)
40 - DUP -- Duplicated the first stack entry so that it occurs twice on the stack
41 - SSP -- Swaps the two first entries of the stack
42 - ROT -- Rotates the top of the stack
43 - PSB -- Push only the specified bytes onto the stack
44 - PPB -- Pop  only the specified bytes off  the stack
45 - ADF -- Add      floating point numbers
46 - SBF -- Subtract floating point numbers
47 - MLF -- Multiply floating point numbers
48 - DVF -- Divide   floating point numbers
49 - CMF -- Compare  floating point numbers
50 - INC -- Increment  the first stack entry (Integer)
51 - DEC -- Deccrement the first stack entry (Integer)
52 - ICF -- Increment  the first stack entry (Floating point)
53 - DCF -- Deccrement the first stack entry (Floating point)
54 - ITF -- Convert integer to floating point number
55 - FTI -- Convert float   to integer
56 - ITD -- Convert integer to double
57 - DTI -- Convert double  to integer
58 - FTD -- Convert float   to double
59 - DTF -- Convert double  to float

Name: Anonymous 2012-02-11 0:20

Cool instruction set bro, but how about you tell us:

  What their arguments are
  How they exactly operate (e.g: ADD hax anus := hax = hax + anus)
  The instruction formats
  The encoding

Name: Anonymous 2012-02-11 1:00

>>41
Arguments: Kept to a mimimum. Usually they correspond to values on the stack; add typically pops two integers off the stack then pushed the result

How they operate:
Executed by VM (e.g:
push hax
push anus
add
pop hax_anus
=
14 hax
14 anus
3
15 hax_anus
but. . . BINARIER)

Instruction formats:
lolwut

Encoding:
binary. Their correspoding numbers is their byte value in a file.

Name: Anonymous 2012-02-11 1:00

>>44
nice dubs bro

Name: Anonymous 2012-02-11 1:05

>>42
There's no hope for you

>>43
thanks bro

         _,. .--::::::::::::- .、
      .,.':::::::::::::::::::::::::::::::::::\
     .,':::::::::::,:::::::::::::::::::::::::::::::::::'.,
     /::::::::/:::::::::::::::::::::::::::::::::::::::',
    ,':::::::/::、__/............λ 、::::ヽ:::i
     i::::::,'::::::::::/-─-/ i:::/i_;::::::::i::::i   
    .i::::::::`iヽi.,.--- '、 レ' i::`イ/:::::|
   .|:::::::::/|::::i ""     '"ヽ/ヘ/::/   
   |:::::::,'::::i....i '.,   、_  ",'i:::|:;/
    |::::::::::::::',::',/へ、  __,,.イ::|:::|
   ,':::::::,- '´ヽiヽ、 ~〈ヽ;;;;::|::,'::::|  ( ::)
  ノ:::::/   ヽ、`ヽy / ヽレ'|:::::| ( ::)
  ,':::::/、.    ',/^ー:r ̄ ̄ ̄i:|
 /::::',     /    ノ、___ノ 〉
.,'::::::::i,へ/ 「 ̄ヽrー´i l   ̄iイ::|

Name: Anonymous 2012-02-11 1:19

>>44
There's no hope for you

That's no attitude to have. Don't like stacks?

Name: Anonymous 2012-02-11 6:04

>>45
It has been mathematically proven that stack machines are pretty much bullshit. You wanna go for registers wherever possible.

Name: Anonymous 2012-02-11 6:26

>>46
Mathematically proven
Provide said proof.

You wanna use registers where possible
Way ahead of you.

Name: Anonymous 2012-02-11 8:12

>>37
fine store your labels in a linked list but for what purpose, why isn't it compiled with the actual addresses or offsets and labels kept just a reminder in the linker output? unless you're making an intermediate language prior to compilation to byte code it doesn't seem useful

Name: Anonymous 2012-02-11 11:53

>>46
Bullshit. A two stack machine is a Universal Turing Machine.

Name: Anonymous 2012-02-11 11:55

>>49
And thus, you can do any operation with these two stacks.

Name: Anonymous 2012-02-11 12:46

SIO - Start I/O operation.

What good is a machine if it can't interact with any device (drives, screens, keyboards, printers, tapes, ethernet, graphics, etc.)?

Name: Anonymous 2012-02-11 12:51

>>51
You might want to google "rack server".

Name: Anonymous 2012-02-11 13:33

>>47
Provide said proof.
The absolute total proof is a bunch of statistical bullshit I pretty much pulled out of my ass just now. But this paper helps too. http://www.usenix.org/events/vee05/full_papers/p153-yunhe.pdf

>>49
Bullshit. A two stack machine is a Universal Turing Machine.
Check out that link, hotel browanda. Only pussies give a fuck about touring completeness, which you don't even need for about a million percent of certain kinds of purposes. I'm not an elected official but I know in the depths of my cold unfeeling heart that what programmers really want is that magic nexus of unfettered performance and user interface sanity that some ancient Greek dudes told all those weird stories about before they got buried under a load of volcano jizz. If you wanna lie down with them in a mesopotamian volcano grave then go for it. Meanwhile I'll be busy not giving a shit about mathematical equivalence and flying off the handle with all my totally sick codes that run way faster than yours ever would.

Name: Anonymous 2012-02-11 13:41

>>53
>Only pussies give a fuck about touring completeness

It's turing, not touring, you dumbass.

>which you don't even need for about a million percent of certain kinds of purposes.

Apparently you've never written anything more than toy programs.

Meanwhile I'll be busy not giving a shit about mathematical equivalence and flying off the handle with all my totally sick codes that run way faster than yours ever would.

Whatever. Go help another customer you mental midget you.

Name: Anonymous 2012-02-11 13:59

dubz

Name: Anonymous 2012-02-11 14:04

Check out my trips

56d => 00111000b

dem trips

Name: Anonymous 2012-02-11 14:06

>>56
you got dubs followed by double trips

nice bro

Name: Anonymous 2012-02-11 14:53

>>52
google "rack server".
U MENA "paperweight"
How will this ``rack server'' of yours send data to other machines without I/O?

Name: Anonymous 2012-02-11 15:01

59 - DTF -- Convert double  to float

Name: Anonymous 2012-02-11 15:05


21 - LSH -- Left shift
22 - RLS -- Logical    Right Shift
23 - RAS -- Arithmetic Right Shift


Great naming system.... It sucks ass.

Name: Anonymous 2012-02-11 16:02

>>60
It's still better than Intel's SHL/SHR/SAR.

Name: Anonymous 2012-02-11 16:26

>>51
That's what interrupts are for.

>>60
`The actual macros (for switching over the given opcode) and the keywords used in the assembler vary slightly from the 3 letter codes given here, That was more for pretty alignment; GOT is goto, PUS is push, and so on.'

Name: Anonymous 2012-02-11 16:46

>>61
It's still better than Intel's SHL/SHR/SAR.

SHift Left
SHift Right
Shift Arithmetic Right


makes more sense than


21 - LSH -- Left SHift
22 - RLS -- Logical    Right Shift
23 - RAS -- Arithmetic Right Shift


MIPS is even better:

SLL -- Shift Left  Logical
SRL -- Shift Right Logical
SRA -- Shift Right Arithmetic

Name: Anonymous 2012-02-11 18:20

2^6 GET

Name: Anonymous 2012-02-11 18:22

>>62
I'm suspecting you don't know what interrupts actually are.
PROTIP: ``Software interrupts'' as used by MS-DOS and early Linux was a hack until proper instructions were provided on x86.
PROTIP2: The other well known VMs don't have anything named ``interrupt''.

Name: Anonymous 2012-02-11 18:54

hey /prog/

improve my dubs

Name: Anonymous 2012-02-11 19:08

>>66
Can't

Name: Anonymous 2012-02-11 19:26

>>65
The program moves a value into %int
When the VM hits the opcode INT it checks the %int register and performs the requested action. Reminds me a little of how interrupts work in asm. Would it be better to use `request' or some shit?

Name: Anonymous 2012-02-11 20:34

hey /prog/

giggle at my post number

Name: Anonymous 2012-02-11 21:10

>>68
%int register
You obviously don't know what interrupts are.

Name: Hakurei Reimu !QbFp0CI46w 2012-02-11 21:38

Slackware-san, please post your text model of the Gensokyo mountains in this thread too!

Name: Anonymous 2012-02-12 0:42

>>71
SLACKWARESUPREMACYSLACKWARESUPREMACYSLACKWARESUPREMACY

Name: Anonymous 2013-09-01 17:11


Cardinality is studied for its own sake as part of set theory. It is also a tool used in branches of mathematics including combinatorics, abstract algebra, and mathematical analysis. In category theory, the cardinal numbers form a skeleton of the category of sets.

Name: Anonymous 2013-09-01 19:28


Elementary set theory can be studied informally and intuitively, and so can be taught in primary schools using Venn diagrams. The intuitive approach tacitly assumes that a set may be formed from the class of all objects satisfying any particular defining condition.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List