فهرست منبع

shave one more byte

Peter Ferrie 3 سال پیش
والد
کامیت
0fb8fa3b2a
2فایلهای تغییر یافته به همراه8 افزوده شده و 8 حذف شده
  1. BIN
      bin/sectorlisp.bin
  2. 8 8
      sectorlisp.S

BIN
bin/sectorlisp.bin


+ 8 - 8
sectorlisp.S

@@ -53,18 +53,18 @@ _begin:	push	%cs				# memory model cs=ds=es = 0x800
 	pop	%ds
 	pop	%ds
 	pop	%es
 	pop	%es
 	mov	$kSymbols,%si
 	mov	$kSymbols,%si
-	mov	%si,%cx
+	push	%si
+	xor	%di,%di				# mov g_str, %di
+	mov	$37,%cx
+	cld
+	rep movsb
+	pop	%cx
 	pop	%ss
 	pop	%ss
 	mov	%cx,%sp
 	mov	%cx,%sp
-	cld
 	mov	$g_mem,%ax
 	mov	$g_mem,%ax
 	mov	%ax,%fs				# fs = &g_mem
 	mov	%ax,%fs				# fs = &g_mem
-	xor	%di,%di
 	rep stosb				# clears our bss memory
 	rep stosb				# clears our bss memory
-main:	xor	%di,%di				# mov g_str, %di
-	mov	$37,%cl
-	rep movsb
-0:	mov	$'\n',%dl
+main:	mov	$'\n',%dl
 	call	GetToken
 	call	GetToken
 	call	GetObject
 	call	GetObject
 	mov	$NIL,%dx
 	mov	$NIL,%dx
@@ -72,7 +72,7 @@ main:	xor	%di,%di				# mov g_str, %di
 	call	PrintObject
 	call	PrintObject
 	mov	$'\r',%al
 	mov	$'\r',%al
 	call	PutChar
 	call	PutChar
-	jmp	0b
+	jmp	main
 
 
 GetToken:					# GetToken():al, dl is g_look
 GetToken:					# GetToken():al, dl is g_look
 	mov	$g_token,%di
 	mov	$g_token,%di