2325ac592f
Wed Apr 29 12:49:00 1998 Frank Ch. Eigler <fche@cygnus.com> * ls-modaddr.S: New test for modular addressing. * Makefile.in: Run it.
38 lines
829 B
ArmAsm
38 lines
829 B
ArmAsm
; Modular address postincrement test
|
|
|
|
start:
|
|
; set modular address limits: 0x18 bytes
|
|
add r1,r0,0x20000070 ; [start, ...
|
|
nop || nop
|
|
mvtsys mod_s,r1 || nop
|
|
nop || nop
|
|
add r1,r0,0x20000088 ; ..., end)
|
|
nop || nop
|
|
mvtsys mod_e,r1 || nop
|
|
|
|
; program PSW for modular address mode
|
|
add r1,r0,0x81000000
|
|
nop || nop
|
|
mvtsys psw,r1 || nop
|
|
nop || nop
|
|
|
|
; modular autoincrement test
|
|
add r30,r0,0x20000070 ; base address = mod_s
|
|
ld2w r40,@(r30+,r0) || nop ; after: r30 = ...078
|
|
ld2w r40,@(r30+,r0) || nop ; after: r30 = ...080
|
|
ld2w r40,@(r30+,r0) || nop ; after: r30 = ...070
|
|
|
|
add r29,r0,0x20000070 ; expected end address; wrapping around
|
|
cmpeq f1,r30,r29
|
|
bra/xf fail
|
|
|
|
; Q: what about autodecrement?
|
|
|
|
ok:
|
|
add r2,r0,0
|
|
.long 0x0e000004, 0x00f00000
|
|
|
|
fail:
|
|
add r2,r0,47
|
|
.long 0x0e000004, 0x00f00000
|