Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Assembler output of string parameters without and with const (modify content)
생성일
10년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
14 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
39 행
복사
20 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
43 행
복사
복사
복사됨
복사
복사됨
P$CONSTPARAMETERSTR_$$_
BYVALUE
$ANSISTRING:
.globl
P$CONSTPARAMETERSTR_$$_
BYREFERENCE$ANSISTRING
P$CONSTPARAMETERSTR_$$_BYREFERENCE
$ANSISTRING:
# Temps allocated between ebp-44 and ebp-4
# Temps allocated between ebp-44 and ebp-4
복사
복사됨
복사
복사됨
# [
16
] begin
# [
24
] begin
pushl %ebp
pushl %ebp
movl %esp,%ebp
movl %esp,%ebp
leal -44(%esp),%esp
leal -44(%esp),%esp
복사
복사됨
복사
복사됨
# Var V located
at ebp-4, size=OS_32
pushl %ebx
movl %eax,
-4(%ebp)
# Var V located
in register ebx
call fpc_ansistr_incr_ref
# Var S located
at ebp-4, size=OS_32
movl %eax,
%ebx
# [27] end;
movl $0,
-4(%ebp)
movl $1,%eax
movl $1,%eax
leal -40(%ebp),%edx
leal -40(%ebp),%edx
leal -16(%ebp),%ecx
leal -16(%ebp),%ecx
call fpc_pushexceptaddr
call fpc_pushexceptaddr
call fpc_setjmp
call fpc_setjmp
pushl %eax
pushl %eax
testl %eax,%eax
testl %eax,%eax
복사
복사됨
복사
복사됨
jne .
Lj7
jne .
Lj11
# [
17] V
:= V + 'x';
# [
25] S
:= V + 'x';
pushl $0
pushl $0
복사
복사됨
복사
복사됨
movl
-4(
%eb
p)
,%edx
movl
%eb
x
,%edx
leal -4(%ebp),%eax
leal -4(%ebp),%eax
movl $.Ld1,%ecx
movl $.Ld1,%ecx
call fpc_ansistr_concat
call fpc_ansistr_concat
복사
복사됨
복사
복사됨
# [
18
] DoIt(
V
);
# [
26
] DoIt(
S
);
movl -4(%ebp),%eax
movl -4(%ebp),%eax
call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING
call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING
복사
복사됨
복사
복사됨
.
Lj7
:
.
Lj11
:
call fpc_popaddrstack
call fpc_popaddrstack
복사
복사됨
복사
복사됨
# [19] end;
leal -4(%ebp),%eax
leal -4(%ebp),%eax
call fpc_ansistr_decr_ref
call fpc_ansistr_decr_ref
popl %eax
popl %eax
testl %eax,%eax
testl %eax,%eax
복사
복사됨
복사
복사됨
je .
Lj8
je .
Lj12
call fpc_reraise
call fpc_reraise
복사
복사됨
복사
복사됨
.
Lj8:
.
Lj12:
popl %ebx
movl %ebp,%esp
movl %ebp,%esp
popl %ebp
popl %ebp
ret
ret
저장된 비교 결과
원본
파일 열기
P$CONSTPARAMETERSTR_$$_BYVALUE$ANSISTRING: # Temps allocated between ebp-44 and ebp-4 # [16] begin pushl %ebp movl %esp,%ebp leal -44(%esp),%esp # Var V located at ebp-4, size=OS_32 movl %eax,-4(%ebp) call fpc_ansistr_incr_ref movl $1,%eax leal -40(%ebp),%edx leal -16(%ebp),%ecx call fpc_pushexceptaddr call fpc_setjmp pushl %eax testl %eax,%eax jne .Lj7 # [17] V := V + 'x'; pushl $0 movl -4(%ebp),%edx leal -4(%ebp),%eax movl $.Ld1,%ecx call fpc_ansistr_concat # [18] DoIt(V); movl -4(%ebp),%eax call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING .Lj7: call fpc_popaddrstack # [19] end; leal -4(%ebp),%eax call fpc_ansistr_decr_ref popl %eax testl %eax,%eax je .Lj8 call fpc_reraise .Lj8: movl %ebp,%esp popl %ebp ret
수정본
파일 열기
.globl P$CONSTPARAMETERSTR_$$_BYREFERENCE$ANSISTRING P$CONSTPARAMETERSTR_$$_BYREFERENCE$ANSISTRING: # Temps allocated between ebp-44 and ebp-4 # [24] begin pushl %ebp movl %esp,%ebp leal -44(%esp),%esp pushl %ebx # Var V located in register ebx # Var S located at ebp-4, size=OS_32 movl %eax,%ebx # [27] end; movl $0,-4(%ebp) movl $1,%eax leal -40(%ebp),%edx leal -16(%ebp),%ecx call fpc_pushexceptaddr call fpc_setjmp pushl %eax testl %eax,%eax jne .Lj11 # [25] S := V + 'x'; pushl $0 movl %ebx,%edx leal -4(%ebp),%eax movl $.Ld1,%ecx call fpc_ansistr_concat # [26] DoIt(S); movl -4(%ebp),%eax call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING .Lj11: call fpc_popaddrstack leal -4(%ebp),%eax call fpc_ansistr_decr_ref popl %eax testl %eax,%eax je .Lj12 call fpc_reraise .Lj12: popl %ebx movl %ebp,%esp popl %ebp ret
비교하기