강의

멘토링

커뮤니티

Inflearn Community Q&A

fashion05262067's profile image
fashion05262067

asked

[MMORPG Game Development with C++ and Unreal Series] Part 1: Introduction to C++ Programming

Loop

반복문 질문있습니다

Written on

·

236

1

1에서 100까지 합 구하는 프로그램 코드 한번만 봐주세요

    mov al, 0

    mov bl, 0

LABEL_SUM:

    add bl, 1

    add al, bl

    cmp bl, 100

    jne LABEL_SUM

    PRINT_DEC 4, al

    NEWLINE

이렇게 짰는데 Output이 -70 나와요..

bl이 0이고 계속 1씩 더해지면 1, 2, 3, ... 이렇게 될 것이고

al에 bl을 더하는데 al 초기값이 0이니까 1씩 더해진 bl을 더하면 1+2+3+ ... +100이 되지 않나요..?

왜 답이 음수가 나오는지 모르겠습니다 ㅠ

C++

Answer 2

3

Rookiss님의 프로필 이미지
Rookiss
Instructor

al (1바이트)를 결과 연산에 사용하시는데,
signed int8은 (-127~128)의 범위라서 그 범위를 초과하면
엉뚱한 결과가 나올 수 있습니다.

저 부분은 C++도 완전히 동일합니다.

0

앗 저도 eax ebx 로 하면 잘되다가 al bl로 해보니깐 안됐는데, 그런 이유였군요 ㅋㅋ!

fashion05262067's profile image
fashion05262067

asked

Ask a question