annotate lab4/test/bitnot.p @ 0:bfdcc3820b32

Basis
author Mike Spivey <mike@cs.ox.ac.uk>
date Thu, 05 Oct 2017 08:04:15 +0100
parents
children
rev   line source
mike@0 1 (* Bitwise NOT function *)
mike@0 2
mike@0 3 var x: integer;
mike@0 4 begin
mike@0 5 x := 314159265;
mike@0 6 x := bitnot(x);
mike@0 7 print_num(x); newline()
mike@0 8 end.
mike@0 9
mike@0 10 (*<<
mike@0 11 -314159266
mike@0 12 >>*)
mike@0 13
mike@0 14 (*[[
mike@0 15 @ picoPascal compiler output
mike@0 16 .include "fixup.s"
mike@0 17 .global pmain
mike@0 18
mike@0 19 .text
mike@0 20 pmain:
mike@0 21 mov ip, sp
mike@0 22 stmfd sp!, {r4-r10, fp, ip, lr}
mike@0 23 mov fp, sp
mike@0 24 @ x := 314159265;
mike@0 25 set r4, #314159265
mike@0 26 set r5, _x
mike@0 27 str r4, [r5]
mike@0 28 @ x := bitnot(x);
mike@0 29 mvn r4, r4
mike@0 30 str r4, [r5]
mike@0 31 @ print_num(x); newline()
mike@0 32 mov r0, r4
mike@0 33 bl print_num
mike@0 34 bl newline
mike@0 35 ldmfd fp, {r4-r10, fp, sp, pc}
mike@0 36 .ltorg
mike@0 37
mike@0 38 .comm _x, 4, 4
mike@0 39 @ End
mike@0 40 ]]*)