1.include "t-macros.i" 2 3 start 4 5;; The d10v implements negated addition for subtraction 6 7 .macro check_sub2w s x y r c v 8 9 ;; clear carry 10 ldi r6,#0x8004 11 mvtc r6,cr0 12 13 ;; load opnds 14 ld2w r6, @(1f,r0) 15 ld2w r8, @(2f,r0) 16 .data 171: .long \x 182: .long \y 19 .text 20 21 ;; subtract 22 SUB2W r6, r8 23 24 ;; verify result 25 ld2w r10, @(1f,r0) 26 .data 271: .long \r 28 .text 29 cmpeq r6, r10 30 brf0f 2f 31 cmpeq r7, r11 32 brf0t 3f 332: ldi r4, 1 34 ldi r0, \s 35 trap 15 363: 37 38 ;; verify carry 39 mvfc r6, cr0 40 and3 r6, r6, #1 41 cmpeqi r6, #\c 42 brf0t 1f 43 ldi r4, 1 44 ldi r0, \s 45 trap 15 461: 47 .endm 48 49check_sub2w 1 0x00000000 0x00000000 0x00000000 1 0 50check_sub2w 2 0x00000000 0x00000001 0xffffffff 0 0 51check_sub2w 3 0x00000001 0x00000000 0x00000001 1 0 52check_sub2w 3 0x00000001 0x00000001 0x00000000 1 0 53check_sub2w 5 0x00000000 0x80000000 0x80000000 0 1 54check_sub2w 6 0x80000000 0x00000001 0x7fffffff 1 1 55check_sub2w 7 0x7fffffff 0x7fffffff 0x00000000 1 0 56 57 exit0 58