# fr30 testcase for div1 $Ri # mach(): fr30 .include "testutils.inc" START .text .global div1 div1: ; Test div1 $Ri ; example from the manual -- all status bits 0 mvi_h_gr 0x00ffffff,r2 mvi_h_dr 0x00ffffff,mdh mvi_h_dr 0x00000000,mdl set_dbits 0x0 set_cc 0x00 div1 r2 test_cc 0 0 0 0 test_dbits 0x0 test_h_gr 0x00ffffff,r2 test_h_dr 0x00ffffff,mdh ; misprinted in manual? test_h_dr 0x00000001,mdl ; D0 == 1 set_dbits 0x1 set_cc 0x00 div1 r2 test_cc 0 0 0 0 test_dbits 0x1 test_h_gr 0x00ffffff,r2 test_h_dr 0x01fffffe,mdh test_h_dr 0x00000002,mdl ; D1 == 1 set_dbits 0x2 set_cc 0x00 div1 r2 test_cc 0 0 0 0 test_dbits 0x2 test_h_gr 0x00ffffff,r2 test_h_dr 0x03fffffc,mdh test_h_dr 0x00000004,mdl ; D0 == 1, D1 == 1 set_dbits 0x3 set_cc 0x00 div1 r2 test_cc 0 0 0 0 test_dbits 0x3 test_h_gr 0x00ffffff,r2 test_h_dr 0x08fffff7,mdh test_h_dr 0x00000009,mdl ; C == 1 mvi_h_gr 0x11ffffef,r2 set_dbits 0x0 set_cc 0x00 div1 r2 test_cc 0 0 0 1 test_dbits 0x0 test_h_gr 0x11ffffef,r2 test_h_dr 0x11ffffee,mdh test_h_dr 0x00000012,mdl ; D0 == 1, C == 1 mvi_h_gr 0x23ffffdd,r2 set_dbits 0x1 set_cc 0x00 div1 r2 test_cc 0 0 0 1 test_dbits 0x1 test_h_gr 0x23ffffdd,r2 test_h_dr 0xffffffff,mdh test_h_dr 0x00000025,mdl ; D1 == 1, C == 1 mvi_h_gr 0x00000003,r2 set_dbits 0x2 set_cc 0x00 div1 r2 test_cc 0 0 0 1 test_dbits 0x2 test_h_gr 0x00000003,r2 test_h_dr 0x00000001,mdh test_h_dr 0x0000004b,mdl ; D0 == 1, D1 == 1, C == 1 mvi_h_gr 0xfffffffe,r2 set_dbits 0x3 set_cc 0x00 div1 r2 test_cc 0 0 0 1 test_dbits 0x3 test_h_gr 0xfffffffe,r2 test_h_dr 0x00000002,mdh test_h_dr 0x00000096,mdl ; remainder is zero mvi_h_gr 0x00000004,r2 set_dbits 0x0 set_cc 0x00 div1 r2 test_cc 0 1 0 0 test_dbits 0x0 test_h_gr 0x00000004,r2 test_h_dr 0x00000000,mdh test_h_dr 0x0000012d,mdl pass