2014-07-21 2 views
0

이것은 내가하고 싶은 일입니다.레지스터에 저장된 주소에 쓰기

레지스터에 저장된 주소에 쓸 수 있도록이 방법으로 사용할 수 있습니다.

mov bx, STRING 
add bx, 0x1 

;and here I want to write a value the the address in bx 

STRING: db "abcdefghijklmnopqrstuvwxyz" 

나는이 간단한 지시가 있을지 모르지만 나는 그것을 발견 할 수 없다.

저는 NASM 어셈블러가있는 16 비트 프로세서에 있습니다.

답변

4

레지스터 bx에 포함 된 주소에있는 메모리를 참조하는 올바른 방법은 [bx]입니다. 다른 레지스터에 포함 된 값을 가지고 [bx]에 그것을 저장하려면 다음을 사용 그래서 :

mov [bx],al 
mov [bx],dx 
mov [bx],ecx 
; ..etc.. 

당신은 직접 즉시 값을 저장할 수

mov byte [bx],0 
mov byte [bx],'A' 
mov word [bx],0x1234 
; ..etc.. 

참고 크기 접두어 (byte , word 등)를 사용하여 어셈블러에게 어떤 크기의 즉치 피연산자가 있어야 하는지를 알려줍니다. 이것은 직접적으로 메모리에 쓰는 경우에 필요합니다. 왜냐하면 mov [bx],0과 같이 쓰는 것이 모호 할 것이기 때문입니다.

+0

추가 정보 : https://courses.engr.illinois.edu/ece390/archive/fall2001/books/labmanual/inst-ref-mov.html 및 https://courses.engr.illinois.edu/ece390/ archive/fall2001/books/labmanual/inst-ref.html # INST-REF-OPERAND-SPEC –

+0

대단히 감사합니다! – user3103241

관련 문제