-(define-pmacro (lde-defn mach dstgroup dsp mode wstr op encoding sem)
- (dni (.sym op mach wstr -dst-dspsp- dstgroup)
- (.str op wstr " " mach "-dsp[sp]-" dstgroup "-" dsp "-" mode)
- ((machine mach))
- (.str op wstr " ${" dsp "},${dst" mach "-" dstgroup "-" mode "}")
- encoding
- (sem mode (.sym dst mach - dstgroup - mode) dsp)
- ())
-)
+(define-pmacro (lde-dst-dsp mode wstr wbit dstgroup srcdisp)
+ (begin
+
+ (dni (.sym lde wstr - dstgroup -u20)
+ (.str "lde" wstr "-" dstgroup "-u20")
+ ((machine 16))
+ (.str "lde" wstr " ${" srcdisp "},${dst16-" dstgroup "-" mode "}")
+ (+ (f-0-4 #x7) (f-4-3 #x2) (f-7-1 wbit) (f-8-4 #x8)
+ (.sym dst16- dstgroup - mode) srcdisp)
+ (nop)
+ ())
+
+ (dni (.sym lde wstr - dstgroup -u20a0)
+ (.str "lde" wstr "-" dstgroup "-u20a0")
+ ((machine 16))
+ (.str "lde" wstr " ${" srcdisp "}[a0],${dst16-" dstgroup "-" mode "}")
+ (+ (f-0-4 #x7) (f-4-3 #x2) (f-7-1 wbit) (f-8-4 #x9)
+ (.sym dst16- dstgroup - mode) srcdisp)
+ (nop)
+ ())
+
+ (dni (.sym lde wstr - dstgroup -a1a0)
+ (.str "lde" wstr "-" dstgroup "-a1a0")
+ ((machine 16))
+ (.str "lde" wstr " [a1a0],${dst16-" dstgroup "-" mode "}")
+ (+ (f-0-4 #x7) (f-4-3 #x2) (f-7-1 wbit) (f-8-4 #xa)
+ (.sym dst16- dstgroup - mode))
+ (nop)
+ ())
+ )
+ )