@@ -3,6 +3,7 @@ adi.s
and.s
cii.s
cms.s
+cmi4.s
cmu4.s
com.s
csa2.s
@@ -0,0 +1,28 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define .cmi4
+
+.sect .text
+.cmi4:
+ pop bx ! return address
+ pop cx
+ pop dx
+ pop ax
+ push si
+ mov si,sp
+ xchg bx,2(si)
+ pop si
+ cmp bx,dx
+ jg 1f
+ jl 2f
+ cmp ax,cx
+ ja 1f
+ je 3f
+2:
+ mov ax,-1
+ ret
+3:
+ xor ax,ax
+1:
+ mov ax,1