프로그래밍/C++

#10. 배열과 주소

코딩하는상후니 2022. 7. 15. 22:06

*배열 : 동일한 타입의 데이터 묶음

=> element : 구성하는 각 값

=> Index : 배열의 위치를 가리키는 숫자

 

*주소

=> [ 시작 주소 + 인덱스 * 데이터 크기 ]

a db 0x01, 0x02, 0x03, 0x04, 0x05 ; 5 * 1 = 5byte

b times 5 dw 1 ; 5 * 2byte = 10byte


%include "io64.inc" 
section .text 
global CMAIN 
CMAIN: 

    mov rbp, rsp; for correct debugging 

    mov rax, a 

    xor ecx, ecx 
LABLE_PRINT_A: 
;    PRINT_HEX 1, [a + ecx] 
;   NEWLINE 
    inc ecx ; add ecx, 1 
    cmp ecx, 5 
    jne LABLE_PRINT_A 
    xor ecx, ecx 
LABLE_PRINT_B: 
    PRINT_DEC 2, [b + ecx * 2] 
    NEWLINE 
    inc ecx 
    cmp ecx, 5 
    jne LABLE_PRINT_B 


    xor rax, rax 
    ret 

section .data 
    msg db 'Hello World', 0x00 
    a db 0x01, 0x02, 0x03, 0x04, 0x05 ; 5 * 1 = 5byte 

    ; 리틀엔디안 
    b times 5 dw 1 ; 5 * 2byte = 10byte 

section .bss 
    num resb 1

*[ a + ecx ] / [ b + ecx * 2 ] 의미

b -> dw 5개로 이루어져있다.


본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.

'프로그래밍 > C++' 카테고리의 다른 글

#12. 스택 메모리 & 스택 프레임 ( Stack Frame )  (0) 2022.07.15
#11. 함수 기초  (0) 2022.07.15
#9. 어셈블리 반복문  (0) 2022.07.15
#8. 어셈블리 분기문  (0) 2022.07.15
#7. 시프트, 논리 연산  (0) 2022.07.15