//%set debug_print_ccode = true //-------------------------------------------------------------- // test of 8 bit math //-------------------------------------------------------------- main module MATH8 use TEXTIO procedure Print_Answers param Item : in val integer Multiplicand: in val integer Divisor : in val integer Sum : in val integer Difference : in val integer Product : in val integer Quotient : in val integer Remainder : in val integer endparam out_integer (TTY, Item) out_integer (TTY, Item, " + ") out_integer (TTY, Sum, " = ") out_record (TTY) out_integer (TTY, Sum) out_integer (TTY, Item, " - ") out_integer (TTY, Difference, " = ") out_record (TTY) out_integer (TTY, Item) out_integer (TTY, Multiplicand, " * ") out_integer (TTY, Product, " = ") out_record (TTY) out_integer (TTY, Item) out_integer (TTY, Divisor, " / ") out_integer (TTY, Quotient, " = ") out_record (TTY) out_integer (TTY, Item) out_integer (TTY, Divisor, " mod ") out_integer (TTY, Remainder, " = ") out_record (TTY) endprocedure declare Fill_0 : static 8 bit integer Item : static 8 bit integer initially -5 Fill_1 : static 8 bit integer // make all on odd byte boundar Multiplicand : static 8 bit integer initially 3 Fill_2 : static 8 bit integer Divisor : static 8 bit integer initially 2 Fill_3 : static 8 bit integer Sum : static 8 bit integer Fill_4 : static 8 bit integer Difference : static 8 bit integer Fill_5 : static 8 bit integer Quotient : static 8 bit integer Fill_6 : static 8 bit integer Product : static 8 bit integer Fill_7 : static 8 bit integer Remainder : static 8 bit integer Fill_8 : static 8 bit integer Card_Item : static 8 bit cardinal initially 83 Fill_a : static 8 bit integer Card_Multiplicand : static 8 bit cardinal initially 3 Fill_b : static 8 bit integer Card_Divisor : static 8 bit cardinal initially 4 Fill_c : static 8 bit integer Card_Sum : static 8 bit cardinal Fill_d : static 8 bit integer Card_Difference : static 8 bit cardinal Fill_e : static 8 bit integer Card_Quotient : static 8 bit cardinal Fill_f : static 8 bit integer Card_Product : static 8 bit cardinal Fill_g : static 8 bit integer Card_Remainder : static 8 bit cardinal enddeclare Sum := Item + Item Difference := Sum - Item Product := Item * Multiplicand Quotient := Item / Divisor Remainder := Item mod Divisor out_line (TTY, "Signed Arithmetic:") PRINT_ANSWERS (Item, Multiplicand, Divisor, Sum, Difference, Product, Quotient, Remainder) Card_Sum := Card_Item + Card_Item Card_Difference := Card_Sum - Card_Item Card_Product := Card_Item * Card_Multiplicand Card_Quotient := Card_Item / Card_Divisor Card_Remainder := Card_Item mod Card_Divisor out_line (TTY, "UN_Signed Arithmetic:") PRINT_ANSWERS (integer (Card_Item), integer (Card_Multiplicand), integer (Card_Divisor), integer (Card_Sum), integer (Card_Difference), integer (Card_Product), integer (Card_Quotient), integer (Card_Remainder)) endmodule