ARM: Fix strh sign handling.
* module/mescc/armv4/as.scm (armv4:word-r->local+n): Fix strh sign handling.
This commit is contained in:
parent
f9a6e1aed0
commit
c7bfc1de36
|
@ -486,7 +486,11 @@
|
||||||
(let* ((n (+ (- 0 (* 4 id)) n))
|
(let* ((n (+ (- 0 (* 4 id)) n))
|
||||||
(r (get-r info)))
|
(r (get-r info)))
|
||||||
`(,(if (< (abs n) #x80)
|
`(,(if (< (abs n) #x80)
|
||||||
`((#:immediate1 ,n) ,(string-append "strh___%" r ",0x8(%ebp)"))
|
(if (< n 0)
|
||||||
|
`((#:immediate1 ,(abs n))
|
||||||
|
,(string-append "strh___%" r ",(%fp,-#$i8)"))
|
||||||
|
`((#:immediate1 ,n)
|
||||||
|
,(string-append "strh___%" r ",(%fp,+#$i8)")))
|
||||||
`(,(string-append "strh___%" r ",0x32(%ebp)") (#:immediate ,n))))))
|
`(,(string-append "strh___%" r ",0x32(%ebp)") (#:immediate ,n))))))
|
||||||
|
|
||||||
(define (armv4:r-and info v)
|
(define (armv4:r-and info v)
|
||||||
|
|
Loading…
Reference in New Issue