while.asm

来自「简单实现C--语言的编译器」· 汇编 代码 · 共 43 行

ASM
43
字号
	.386p
	model flat

extrn	_printf:near

	.code
_main	proc	near
	push      ebp
	mov       ebp,esp
	sub	  esp, 12
	mov	edx  ,	2
	mov	dword ptr [ebp-4], edx;i
	mov	edx  ,	-4
	mov	dword ptr [ebp-8], edx;k
__@1:
	mov	edx , dword ptr [ebp-8] ; k
	cmp	edx , dword ptr [ebp-4] ; i
	jge	short	__@2
    	mov    eax, dword ptr [ebp-8];k
	add	eax, dword ptr [ebp-4] ;i
	mov	dword ptr [ebp-12], eax	;__t1
	mov	edx ,dword ptr [ebp-12] ; __t1
	mov	dword ptr [ebp-8] , edx ; k
	jmp	__@1
__@2:
	push	dword ptr [ebp-8] ; k
	push	  offset s@
	call	_printf
	pop	ecx
	add	esp,8

	mov	esp,ebp
	pop	ebp
	ret
_main	endp

	.data
s@	label	byte
	db	"k = %d",10,0

	public	_main
	end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?