varcheck.asm

来自「主要是演示汇编的多文件调用并和C、C++配合使用的程序。」· 汇编 代码 · 共 106 行

ASM
106
字号
	TITLE	Varcheck.c
	.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS	ENDS
_TLS	SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS	ENDS
FLAT	GROUP _DATA, CONST, _BSS
	ASSUME	CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC	_Swap
_TEXT	SEGMENT
_a$ = 8
_b$ = 12
_Swap	PROC NEAR
; File Varcheck.c
; Line 4
	push	ebp
	mov	ebp, esp
; Line 5
	mov	eax, DWORD PTR _a$[ebp]
	mov	ecx, DWORD PTR _b$[ebp]
	mov	edx, DWORD PTR [eax]
	xor	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _a$[ebp]
	mov	DWORD PTR [eax], edx
; Line 6
	mov	ecx, DWORD PTR _b$[ebp]
	mov	edx, DWORD PTR _a$[ebp]
	mov	eax, DWORD PTR [ecx]
	xor	eax, DWORD PTR [edx]
	mov	ecx, DWORD PTR _b$[ebp]
	mov	DWORD PTR [ecx], eax
; Line 7
	mov	edx, DWORD PTR _a$[ebp]
	mov	eax, DWORD PTR _b$[ebp]
	mov	ecx, DWORD PTR [edx]
	xor	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR _a$[ebp]
	mov	DWORD PTR [edx], ecx
; Line 8
	pop	ebp
	ret	0
_Swap	ENDP
_TEXT	ENDS
PUBLIC	_main
EXTRN	_printf:NEAR
EXTRN	_getch:NEAR
_DATA	SEGMENT
$SG345	DB	'i=%d,j=%d', 0aH, 00H
	ORG $+1
$SG346	DB	'i=%d,j=%d', 0aH, 00H
_DATA	ENDS
_TEXT	SEGMENT
_i$ = -4
_j$ = -8
_main	PROC NEAR
; Line 11
	push	ebp
	mov	ebp, esp
	sub	esp, 8
; Line 12
	mov	DWORD PTR _i$[ebp], 1
	mov	DWORD PTR _j$[ebp], 2
; Line 13
	mov	eax, DWORD PTR _j$[ebp]
	push	eax
	mov	ecx, DWORD PTR _i$[ebp]
	push	ecx
	push	OFFSET FLAT:$SG345
	call	_printf
	add	esp, 12					; 0000000cH
; Line 14
	lea	edx, DWORD PTR _j$[ebp]
	push	edx
	lea	eax, DWORD PTR _i$[ebp]
	push	eax
	call	_Swap
	add	esp, 8
; Line 15
	mov	ecx, DWORD PTR _j$[ebp]
	push	ecx
	mov	edx, DWORD PTR _i$[ebp]
	push	edx
	push	OFFSET FLAT:$SG346
	call	_printf
	add	esp, 12					; 0000000cH
; Line 16
	call	_getch
; Line 17
	mov	esp, ebp
	pop	ebp
	ret	0
_main	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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