Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10110100101
- C = 0
- W0 = 00000001
- W1 = 11111111
- add.b W0, W1, W2
- W2 = 00000000
- C = 1
- Z = 1
- W0 = 1
- W2 = 0
- 00000000
- 00000001
- C = 0
- unsigned short x = -8
- printf("%d", x);
- 11111000
- 8 + 16 + 32 + 64 + 128
- signed short y = -8
- 11111000
- -8
- mov W2, W1
- mov [W2], W1
- mov W2, [W1]
- mov [W2], [W1]
- W1: 0x1010
- W2: 0x1006
- 0x1006: 0xABCD
- 0x1008: 0xDEF1
- mov.b [W2++], W1
- mov.b [W2++], W1
- W1: 0x10CD
- W2: 0x1007
- W1: 0x10AB
- W2: 0x1008
- ~~~~~~~~~~~~~~~~~
- W1: 0x1010
- W2: 0x1008
- 0x1006: 0xABCD
- 0x1008: 0xDEF1
- mov [++W2], W1
- W2: 0x1008
- W1: 0xDEF1
- mov.b [++W2], W1
- W2: 0x1007
- W1: 0x10AB
- mov [W2--], W1
- W1: 0xDEF1
- W2: 0x1006
- mov.b [W2--], W1
- W1: 0x10F1
- W2: 0x1007
- mov [--W2], W1
- W2: 0x1006
- W1: 0xABCD
- mov.b [--W2], W1
- W2: 0x1007
- W1: 0x10AB
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- W2: 0x1006
- 0x1006: 0x1008
- 0x1008: 0xABCD
- mov W2, [W2++]
- W2: 0x1008
- W2: 0x100A
- mov [++W2], W2
- W2: 0x1008
- W2: 0xABCD
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- W1: 0x1010
- W2: 0x0806
- W3: 0x0804
- 0x1006: 0xABCD
- 0x1008: 0xDEF1
- 0x100A: 0xACED
- mov [W2+W3], W1
- W1: 0xACED
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .bss
- a: .space 2
- b: .space 1
- stack: .space 264
- .text
- .global __reset:
- __reset:
- mov #stack, W15
- mov #0xEF69, W0
- mov W0, [W15++]
- mov #0xABCD, W0
- mov W0, [W15++]
- mov [--W15], W0
- mov [--W15], W0
- mov #1337, W0
- mov W0, [W15++]
- ;
- W15:0x1006
- W0: 1337
- 0x1004: 1337
- 0x1006: 0xABCD
- 0x1008:
- 0x100A:
- 0x100C:
- 0x100E:
- 0x1010:
- 0x1012:
- EQUIVALENCIES
- push f
- mov f, [W15++]
- pop f
- mov [--W15], f
- ; function test
- .bss
- stack: .space 200
- .text
- .global __reset
- __reset:
- mov #stack, W15
- mov #0x6969, W7
- mov #3, W0
- mov #3, W1
- clr W2
- push W8
- push W9
- push W10
- call specmul
- pop W10
- pop W9
- pop W8
- end: goto end
- 0x1000: 0x6969
- 0x1002: "pop W10"
- 0x1004: "return"
- ; W0 = first operand
- ; W1 = second operand
- ; W2 = return value
- specmul:
- mul W0, W1, W7
- mov W7, W6
- mov W6, W5
- mov W5, W2
- call another
- return
- another:
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement