inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

어셈블리 언어

344

yaminma3

작성한 질문수 6

0

%include "io64.inc"

 

section .text

global CMAIN

CMAIN:

mov rbp, rsp; for correct debugging

;write your code here

mov rbp, rsp

 

PRINT_STRING msg_input

GET_DEC 2, data_max ; input mmax number

NEWLINE

;check 3'multiple

mov [data_size], word 0

mov edx, 1 ; index : edx~100

 

L1: ; AX/8bit = AH(나머지)

mov bl,3

mov ax,dx

div bl

cmp ah,0

jnz L_next

mov eax,0

mov ax,[data_size]

mov [data + eax*2], dx

inc eax

mov [data_size], ax

L_next:

inc edx

cmp dx,[data_max]

jle L1

 

; print number

PRINT_STRING msg_count

PRINT_DEC 2,[data_size]

NEWLINE

mov eax, 0

L_print:

PRINT_DEC 2, [data+eax*2]

NEWLINE

inc eax

cmp ax, word[data_size]

jl L_print

 

mov total, 0

mov eax, 0

mov ebx, 0

mov ecx,[data_size]

L_total:

add ebx,[data+eax*2]

inc eax

loop L_total

 

mov total, ebx

PRINT_STRING msg_total

PRINT_DEC 2, total

xor rax, rax

ret

 

section .data

msg_input db '# input max number:', 0x00

msg_count db '#number count:', 0x00

msg_total db '#total:', 0x00

 

section .bss

data_max resw 1

data_size resw 1

data resw 100

total resw 1

여기서, mov total 부터 L_total 까지 문제가 있는 것 같아요..
3의 배수의 합들을 구하려고 하는데, 물론 입력한 값에 대해서요.
3의 배수의 합을 구하려는 과정에서 계속 막히네요.. 대체 뭐가 문제인지 전 정말로 모르겠습니다.. ㅠㅠ
 

어셈블리 어셈블리언어

답변 0

CMP 명령어 예제 중

0

299

1

몇가지 질문이 있어서 글 올립니다 !

0

323

1

cmp 비교시 데이터값 질문드려요

0

288

1

초보주의: 어셈블리어로 길이 제한 없는 문자열을 표현할 수 있는 법이 뭐가 있을까요

0

184

0