Advertisement
Guest User

Untitled

a guest
May 9th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pic 16 2.02 KB | None | 0 0
  1. 10110100101
  2.  
  3.  
  4. C = 0
  5.  
  6. W0 = 00000001
  7. W1 = 11111111
  8.  
  9. add.b W0, W1, W2
  10. W2 = 00000000
  11. C = 1
  12. Z = 1
  13. W0 = 1
  14. W2 = 0
  15.  
  16. 00000000
  17. 00000001
  18.  
  19. C = 0
  20.  
  21. unsigned short x = -8
  22. printf("%d", x);
  23. 11111000
  24. 8 + 16 + 32 + 64 + 128
  25.  
  26. signed short y = -8
  27. 11111000   
  28. -8
  29.  
  30. mov W2, W1
  31. mov [W2], W1
  32. mov W2, [W1]
  33. mov [W2], [W1]
  34.  
  35. W1: 0x1010
  36. W2: 0x1006
  37. 0x1006: 0xABCD
  38. 0x1008: 0xDEF1
  39.  
  40. mov.b [W2++], W1
  41. mov.b [W2++], W1
  42.  
  43. W1: 0x10CD
  44. W2: 0x1007
  45.  
  46. W1: 0x10AB
  47. W2: 0x1008
  48.  
  49. ~~~~~~~~~~~~~~~~~
  50. W1: 0x1010
  51. W2: 0x1008
  52. 0x1006: 0xABCD
  53. 0x1008: 0xDEF1
  54.  
  55. mov [++W2], W1
  56. W2: 0x1008
  57. W1: 0xDEF1
  58.  
  59. mov.b [++W2], W1
  60. W2: 0x1007
  61. W1: 0x10AB
  62.  
  63. mov [W2--], W1
  64. W1: 0xDEF1
  65. W2: 0x1006
  66.  
  67. mov.b [W2--], W1
  68. W1: 0x10F1
  69. W2: 0x1007
  70.  
  71. mov [--W2], W1
  72. W2: 0x1006
  73. W1: 0xABCD
  74.  
  75. mov.b [--W2], W1
  76. W2: 0x1007
  77. W1: 0x10AB
  78. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  79. W2: 0x1006
  80. 0x1006: 0x1008
  81. 0x1008: 0xABCD
  82.  
  83. mov W2, [W2++]
  84. W2: 0x1008
  85. W2: 0x100A
  86.  
  87. mov [++W2], W2
  88. W2: 0x1008
  89. W2: 0xABCD
  90.  
  91. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  92. W1: 0x1010
  93. W2: 0x0806
  94. W3: 0x0804
  95. 0x1006: 0xABCD
  96. 0x1008: 0xDEF1
  97. 0x100A: 0xACED
  98.  
  99. mov [W2+W3], W1
  100. W1: 0xACED
  101.  
  102. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  103. .bss
  104. a: .space 2
  105. b: .space 1
  106. stack:  .space 264
  107.  
  108. .text
  109. .global __reset:
  110. __reset:
  111.     mov #stack, W15
  112.     mov #0xEF69, W0
  113.     mov W0, [W15++]
  114.     mov #0xABCD, W0
  115.     mov W0, [W15++]
  116.     mov [--W15], W0
  117.     mov [--W15], W0
  118.     mov #1337, W0
  119.     mov W0, [W15++]
  120.  
  121. ;
  122.  
  123. W15:0x1006
  124. W0: 1337
  125. 0x1004: 1337
  126. 0x1006: 0xABCD
  127. 0x1008:
  128. 0x100A:
  129. 0x100C:
  130. 0x100E:
  131. 0x1010:
  132. 0x1012:
  133.  
  134.    
  135. EQUIVALENCIES
  136.     push f
  137.     mov f, [W15++]
  138.    
  139.     pop f
  140.     mov [--W15], f
  141.    
  142.  
  143. ; function test
  144. .bss
  145. stack: .space 200
  146.  
  147. .text
  148. .global __reset
  149. __reset:
  150.     mov #stack, W15
  151.     mov #0x6969, W7
  152.     mov #3, W0
  153.     mov #3, W1
  154.     clr W2
  155.     push W8
  156.     push W9
  157.     push W10
  158.     call specmul
  159.     pop W10
  160.     pop W9
  161.     pop W8
  162. end: goto end
  163.  
  164. 0x1000: 0x6969
  165. 0x1002: "pop W10"
  166. 0x1004: "return"
  167.    
  168. ; W0 = first operand
  169. ; W1 = second operand
  170. ; W2 = return value
  171. specmul:
  172.     mul W0, W1, W7
  173.     mov W7, W6
  174.     mov W6, W5
  175.     mov W5, W2
  176.     call another
  177.     return
  178.    
  179.    
  180. another:
  181. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement