diff --git a/apps/ed/cmd.asm b/apps/ed/cmd.asm
index e7b8f23..07a61b8 100644
--- a/apps/ed/cmd.asm
+++ b/apps/ed/cmd.asm
@@ -89,7 +89,8 @@ cmdParse:
 	jr	z, .dot
 	cp	'$'
 	jr	z, .eof
-	call	parseDecimalDigit
+	add a, 0xc6	; inline ParseDecimalDigit
+	sub 0xf6
 	jr	c, .notHandled
 	; straight number
 	ld	a, ABSOLUTE
@@ -121,7 +122,8 @@ cmdParse:
 	inc	hl		; advance cmd cursor
 	ld	a, (hl)
 	ld	de, 1		; if .pmNoSuffix
-	call	parseDecimalDigit
+	add a, 0xc6	; Inline ParseDecimalDigit
+	sub 0xf6
 	jr	c, .pmNoSuffix
 	call	.parseDecimalM	; --> DE
 .pmNoSuffix:
@@ -149,7 +151,8 @@ cmdParse:
 .loop:
 	inc	hl
 	ld	a, (hl)
-	call	parseDecimalDigit
+	add a, 0xc6	; Inline ParseDecimalDigit
+	sub 0xf6
 	jr	nc, .loop
 	; We're at the first non-digit char. Let's save it because we're going
 	; to temporarily replace it with a null.