Advertisement
Guest User

Untitled

a guest
Nov 11th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. aaron@sty:~/dev/mud$ ./msc test.ms
  2. __entry__:
  3.     PUSH "Hello there, chap!"
  4.     CALL log 1
  5.     PUSH "arguments"
  6.     PUSH "function"
  7.     PUSH "Several"
  8.     CALL log 3
  9.     PUSH 2
  10.     PUSH 2
  11.     ADD
  12.     PUSH "2 + 2 ="
  13.     CALL log 2
  14.     PUSH 4.300000
  15.     PUSH 5.000000
  16.     ADD
  17.     PUSH "5.0 + 4.3 ="
  18.     CALL log 2
  19.     PUSH 3
  20.     PUSH 2.100000
  21.     ADD
  22.     CALL log 1
  23.     PUSH 3.100000
  24.     PUSH 2
  25.     ADD
  26.     CALL log 1
  27.     PUSH 5
  28.     PUSH "Mambo No. "
  29.     ADD
  30.     CALL log 1
  31.     PUSH 3.141592
  32.     PUSH "Pi: "
  33.     ADD
  34.     CALL log 1
  35.     PUSH 3
  36.     PUSH 5
  37.     ADD
  38.     CALL log 1
  39.     PUSH 3
  40.     PUSH 5
  41.     SUB
  42.     CALL log 1
  43.     PUSH 5
  44.     PUSH 3
  45.     SUB
  46.     CALL log 1
  47.     PUSH 3
  48.     PUSH 7
  49.     MUL
  50.     CALL log 1
  51.     PUSH 4
  52.     NEG
  53.     PUSH 5
  54.     MUL
  55.     CALL log 1
  56.     PUSH 14
  57.     PUSH 0.500000
  58.     MUL
  59.     CALL log 1
  60.     PUSH 5
  61.     PUSH 0.500000
  62.     MUL
  63.     CALL log 1
  64.     PUSH 2
  65.     PUSH 70
  66.     DIV
  67.     CALL log 1
  68.     PUSH 1.214180
  69.     PUSH 360.000000
  70.     DIV
  71.     CALL log 1
  72.     PUSH 5
  73.     PUSH 3
  74.     MUL
  75.     PUSH 2
  76.     ADD
  77.     CALL log 1
  78.     PUSH 5
  79.     PUSH 3
  80.     PUSH 2
  81.     ADD
  82.     MUL
  83.     CALL log 1
  84.     PUSH 1
  85.     CALL log 1
  86.     PUSH 0
  87.     CALL log 1
  88.     PUSH 2
  89.     PUSH 1
  90.     LT
  91.     CALL log 1
  92.     PUSH 5
  93.     PUSH 2
  94.     GT
  95.     CALL log 1
  96.     PUSH 1
  97.     PUSH 1
  98.     EQU
  99.     CALL log 1
  100.     PUSH 1
  101.     PUSH 1
  102.     NEQ
  103.     CALL log 1
  104.     PUSH 1
  105.     PUSH 0
  106.     EQU
  107.     CALL log 1
  108.     PUSH 1
  109.     PUSH 0
  110.     NEQ
  111.     CALL log 1
  112.     PUSH 0
  113.     PUSH 0
  114.     EQU
  115.     CALL log 1
  116.     PUSH 0
  117.     PUSH 0
  118.     NEQ
  119.     CALL log 1
  120.     PUSH 1
  121.     PUSH 1
  122.     AND
  123.     CALL log 1
  124.     PUSH 0
  125.     PUSH 1
  126.     AND
  127.     CALL log 1
  128.     PUSH 1
  129.     PUSH 0
  130.     AND
  131.     CALL log 1
  132.     PUSH 0
  133.     PUSH 0
  134.     AND
  135.     CALL log 1
  136.     PUSH 1
  137.     PUSH 1
  138.     OR
  139.     CALL log 1
  140.     PUSH 0
  141.     PUSH 1
  142.     OR
  143.     CALL log 1
  144.     PUSH 1
  145.     PUSH 0
  146.     OR
  147.     CALL log 1
  148.     PUSH 0
  149.     PUSH 0
  150.     OR
  151.     CALL log 1
  152.     PUSH 1
  153.     JZ lbl_0x117cc40_1
  154.     PUSH "I like apples"
  155.     CALL log 1
  156.     JMP lbl_0x117cc40_2
  157.  
  158. lbl_0x117cc40_1:
  159.     PUSH "I like bananas"
  160.     CALL log 1
  161.  
  162. lbl_0x117cc40_2:
  163.     PUSH 0
  164.     JZ lbl_0x117d020_1
  165.     PUSH "I like apples"
  166.     CALL log 1
  167.     JMP lbl_0x117d020_2
  168.  
  169. lbl_0x117d020_1:
  170.     PUSH "I like bananas"
  171.     CALL log 1
  172.  
  173. lbl_0x117d020_2:
  174.     PUSH 0
  175.     JZ lbl_0x117d4a0_1
  176.     PUSH 1
  177.     CALL log 1
  178.     JMP lbl_0x117d4a0_2
  179.  
  180. lbl_0x117d4a0_1:
  181.     PUSH 1
  182.     JZ lbl_0x117d400_1
  183.     PUSH 2
  184.     CALL log 1
  185.  
  186. lbl_0x117d400_1:
  187.  
  188. lbl_0x117d4a0_2:
  189.     PUSH 0
  190.     JZ lbl_0x117d920_1
  191.     PUSH 1
  192.     CALL log 1
  193.     JMP lbl_0x117d920_2
  194.  
  195. lbl_0x117d920_1:
  196.     PUSH 0
  197.     JZ lbl_0x117d880_1
  198.     PUSH 2
  199.     CALL log 1
  200.  
  201. lbl_0x117d880_1:
  202.  
  203. lbl_0x117d920_2:
  204.     PUSH 0
  205.     JZ lbl_0x117e1a0_1
  206.     PUSH 1
  207.     CALL log 1
  208.     JMP lbl_0x117e1a0_2
  209.  
  210. lbl_0x117e1a0_1:
  211.     PUSH 0
  212.     JZ lbl_0x117e100_1
  213.     PUSH 2
  214.     CALL log 1
  215.     JMP lbl_0x117e100_2
  216.  
  217. lbl_0x117e100_1:
  218.     PUSH 1
  219.     JZ lbl_0x117e060_1
  220.     PUSH 3
  221.     CALL log 1
  222.     JMP lbl_0x117e060_2
  223.  
  224. lbl_0x117e060_1:
  225.     PUSH 4
  226.     CALL log 1
  227.  
  228. lbl_0x117e060_2:
  229.  
  230. lbl_0x117e100_2:
  231.  
  232. lbl_0x117e1a0_2:
  233.     PUSH 0
  234.     JZ lbl_0x117ea20_1
  235.     PUSH 1
  236.     CALL log 1
  237.     JMP lbl_0x117ea20_2
  238.  
  239. lbl_0x117ea20_1:
  240.     PUSH 0
  241.     JZ lbl_0x117e980_1
  242.     PUSH 2
  243.     CALL log 1
  244.     JMP lbl_0x117e980_2
  245.  
  246. lbl_0x117e980_1:
  247.     PUSH 0
  248.     JZ lbl_0x117e8e0_1
  249.     PUSH 3
  250.     CALL log 1
  251.     JMP lbl_0x117e8e0_2
  252.  
  253. lbl_0x117e8e0_1:
  254.     PUSH 4
  255.     CALL log 1
  256.  
  257. lbl_0x117e8e0_2:
  258.  
  259. lbl_0x117e980_2:
  260.  
  261. lbl_0x117ea20_2:
  262.     PUSH derp
  263.     PUSH "contains extra derp"
  264.     STORE
  265.     PUSH derp
  266.     PUSH "WARNING:"
  267.     CALL log 2
  268.     PUSH a
  269.     PUSH 1
  270.     STORE
  271.     PUSH b
  272.     PUSH 5
  273.     STORE
  274.     PUSH c
  275.     PUSH b
  276.     PUSH a
  277.     ADD
  278.     STORE
  279.     PUSH c
  280.     CALL log 1
  281.     PUSH x
  282.     PUSH "fuck"
  283.     STORE
  284.     PUSH x
  285.     PUSH "I don't give a"
  286.     CALL log 2
  287.     PUSH tmp
  288.     PUSH "test"
  289.     STORE
  290.     PUSH tmp
  291.     CALL log 1
  292.     PUSH a
  293.     PUSH "Hello"
  294.     STORE
  295.     PUSH b
  296.     PUSH ", "
  297.     STORE
  298.     PUSH c
  299.     PUSH "world!"
  300.     STORE
  301.     PUSH c
  302.     PUSH b
  303.     PUSH a
  304.     ADD
  305.     ADD
  306.     CALL log 1
  307.     PUSH 0
  308.     CALL log 1
  309.     PUSH t
  310.     DICT
  311.     PUSH "bar"
  312.     PUSH "foo"
  313.     PUT
  314.     PUSH "huehuehue"
  315.     PUSH "derp"
  316.     PUT
  317.     STORE
  318.     PUSH t
  319.     LOAD
  320.     PUSH "foo"
  321.     LOAD
  322.     CALL log 1
  323.     PUSH t
  324.     LOAD
  325.     PUSH "derp"
  326.     LOAD
  327.     CALL log 1
  328.     PUSH t
  329.     LOAD
  330.     PUSH "shit"
  331.     LOAD
  332.     CALL log 1
  333.     PUSH t
  334.     LOAD
  335.     PUSH "shit"
  336.     LOAD
  337.     JZ lbl_0x1180cc0_1
  338.     PUSH "Oh noes"
  339.     CALL log 1
  340.     JMP lbl_0x1180cc0_2
  341.  
  342. lbl_0x1180cc0_1:
  343.     PUSH "Oh good"
  344.     CALL log 1
  345.  
  346. lbl_0x1180cc0_2:
  347.     PUSH t
  348.     LOAD
  349.     PUSH "shit"
  350.     LOAD
  351.     NOT
  352.     JZ lbl_0x1181240_1
  353.     PUSH "Oh noes"
  354.     CALL log 1
  355.     JMP lbl_0x1181240_2
  356.  
  357. lbl_0x1181240_1:
  358.     PUSH "Oh good"
  359.     CALL log 1
  360.  
  361. lbl_0x1181240_2:
  362.     PUSH t
  363.     CALL log 1
  364.     DICT
  365.     PUSH "bar"
  366.     PUSH "foo"
  367.     PUT
  368.     PUSH "huehuehue"
  369.     PUSH "derp"
  370.     PUT
  371.     CALL log 1
  372.     ARRAY
  373.     CALL log 1
  374.     PUSH x
  375.     DICT
  376.     PUSH "something"
  377.     PUSH "test"
  378.     PUT
  379.     DICT
  380.     PUSH "nope"
  381.     PUSH "balls"
  382.     PUT
  383.     PUSH "arse"
  384.     PUT
  385.     STORE
  386.     PUSH x
  387.     LOAD
  388.     PUSH "test"
  389.     LOAD
  390.     CALL log 1
  391.     PUSH y
  392.     PUSH x
  393.     LOAD
  394.     PUSH "arse"
  395.     LOAD
  396.     STORE
  397.     PUSH y
  398.     LOAD
  399.     PUSH "balls"
  400.     LOAD
  401.     CALL log 1
  402.     PUSH x
  403.     LOAD
  404.     PUSH "arse"
  405.     LOAD
  406.     PUSH "balls"
  407.     LOAD
  408.     CALL log 1
  409.     PUSH x
  410.     LOAD
  411.     PUSH "shit"
  412.     PUSH "test"
  413.     PUT
  414.     PUSH x
  415.     LOAD
  416.     PUSH "test"
  417.     LOAD
  418.     CALL log 1
  419.     PUSH x
  420.     PUSH 0
  421.     STORE
  422.  
  423. lbl_0x1183180_1:
  424.     PUSH 10
  425.     PUSH x
  426.     LT
  427.     JZ lbl_0x1183180_2
  428.     PUSH x
  429.     CALL log 1
  430.     PUSH x
  431.     PUSH 1
  432.     PUSH x
  433.     ADD
  434.     STORE
  435.     JMP_0x1183180_1
  436.  
  437. lbl_0x1183180_2:
  438.     PUSH x
  439.     PUSH 100
  440.     STORE
  441.  
  442. lbl_0x11836d0_1:
  443.     PUSH 1000
  444.     PUSH x
  445.     LTE
  446.     JZ lbl_0x11836d0_2
  447.     PUSH x
  448.     CALL log 1
  449.     PUSH x
  450.     PUSH 100
  451.     STORE
  452.     JMP lbl_0x11836d0_1
  453.  
  454. lbl_0x11836d0_2:
  455.     PUSH x
  456.     PUSH "shit"
  457.     STORE
  458.     JMP lbl_0x1183ad0
  459.  
  460. fn_0x1183ad0:
  461.     PUSH y
  462.     PUSH x
  463.     CALL log 2
  464.     PUSH 0
  465.     RET
  466.  
  467. lbl_0x1183ad0:
  468.     FUNC test fn_0x1183ad0
  469.     PUSH z
  470.     PUSH "balls"
  471.     STORE
  472.     PUSH "faak"
  473.     PUSH z
  474.     CALL test 2
  475.     JMP lbl_0x1184080
  476.  
  477. fn_0x1184080:
  478.     PUSH x
  479.     PUSH y
  480.     CALL log 2
  481.     PUSH 0
  482.     RET
  483.  
  484. lbl_0x1184080:
  485.     FUNC test fn_0x1184080
  486.     PUSH "shit"
  487.     PUSH z
  488.     CALL test 2
  489.     JMP lbl_0x1184620
  490.  
  491. fn_0x1184620:
  492.     PUSH "You should see this"
  493.     CALL log 1
  494.     PUSH 0
  495.     RET
  496.     PUSH "But not this..."
  497.     CALL log 1
  498.     PUSH 0
  499.     RET
  500.  
  501. lbl_0x1184620:
  502.     FUNC balls fn_0x1184620
  503.     CALL balls 0
  504.     PUSH "and this"
  505.     CALL log 1
  506.     PUSH "and this"
  507.     CALL log 1
  508.     PUSH "and this"
  509.     CALL log 1
  510.     JMP lbl_0x1184d60
  511.  
  512. fn_0x1184d60:
  513.     PUSH y
  514.     PUSH x
  515.     ADD
  516.     RET
  517.  
  518. lbl_0x1184d60:
  519.     FUNC add_numbers fn_0x1184d60
  520.     PUSH a
  521.     PUSH 5
  522.     STORE
  523.     PUSH b
  524.     PUSH 3
  525.     STORE
  526.     PUSH b
  527.     PUSH a
  528.     CALL add_numbers 2
  529.     PUSH "="
  530.     PUSH b
  531.     PUSH "+"
  532.     PUSH a
  533.     CALL log 5
  534.     PUSH x
  535.     ARRAY
  536.     PUSH 1
  537.     STORE
  538.     PUSH 2
  539.     STORE
  540.     PUSH 3
  541.     STORE
  542.     STORE
  543.     PUSH x
  544.     CALL log 1
  545.     PUSH x
  546.     LOAD
  547.     PUSH 6
  548.     PUSH 1
  549.     PUT
  550.     PUSH x
  551.     CALL log 1
  552.     PUSH x
  553.     LOAD
  554.     PUSH "hi"
  555.     STORE
  556.     PUSH x
  557.     CALL log 1
  558.     PUSH x
  559.     DICT
  560.     STORE
  561.     HALT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement