2016-07-11 5 views
-2

Label op; OP1
OP2

이이 & OP2 하나 개의 라벨에 그 OP1을 뜻 : 이것은 하나의 작업
라벨의 레이블인가? 라벨을 추가 할 수 있도록 라벨 아무것도 "포함"하지 않습니다8086 프로세서 레이블에 둘 이상의 작업이 포함될 수 있습니까?

+3

레이블은 하나의 장소, 단일 주소입니다. –

+0

은 어셈블러에 따라 다릅니다. 당신이 할 수 있다고 생각하는 GNU 어셈블러. –

+1

레이블 "in"이 없습니다. – harold

답변

1

, 그것은, 코드의 주소가 될 것입니다 무엇을 어셈블러 코드를 작성하는 동안

, 당신은 종종 알 수없는 주소에 대한 별칭이다 나중에하여 myFunction, myFunction이 변경 될 것입니다 주소를 "myFunction이"의 호출 inbetween 일부 코드를 추가하는 경우

org 0100h 

mov cx,100 
back:     ; tell the assembler to remember this address 
    mov ah,9 
    mov dl,'*' 
    call myFunction  ; I have no idea where myFunction will be, 
         ; but the assembler will insert the correct address here 
    ... 
loop back    ; jump back to the address saved as label "back" 
... 
; more stuff 
.... 
myFunction:    ; this address will be called 

있지만 : 원하는 주소에게 "이름"

등을 제공합니다 전화를 변경할 필요가 없습니다

+0

'myFunction'은 첫 번째 소스 파일에 'extern myFunction' 어셈블러 지시문 만있는 다른 파일에 정의 될 수 있습니다. 그런 다음 그것을 분류하는 링커입니다. –

+0

예, 당신은 완전히 옳습니다. 외장 라벨에 대해 생각해 보았지만 OP가 조립/연결에 익숙하지 않은 것인지 확신하지 못했기 때문에 도움이 될 것만 큼 혼동했을 것입니다. – Tommylee2k