묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
CMP 명령어 예제 중
CMP 명령어의 예제 설명 부분에서CMP R2, 0x13 일때 R2가 0x14인 경우 결과에 CPSR.{N,Z,C,V} 라고 해주셨는데 0x14 - 0x13의 경우 연산의 결과가 0이 아닌데 어째서 Z flag가 업데이트 된다는 것인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
몇가지 질문이 있어서 글 올립니다 !
강사님 안녕하세요! 강의를 들으면서 몇가지 궁금증이 생겨서 질문을 올리게 되었습니다. 1. 어셈블리어 학습 정도. : 어셈블리어는 처음이라 강의 내용의 흐름은 이해가 가지만 sasm에서 사용하는 문법이라던지, 레지스터 용어, 16진수와 2진수의 매끄러운 변환등 디테일한 부분들을 완벽하게 짚고 넘어가지 못하는 생각이 들었습니다. C++을 주언어로 사용하는 게임개발자 취업을 준비하는 입장에서는 어셈블리어의 학습을 어느정도까지 해두어야 할지 궁금해서 여쭤봅니다. 중요한 부분이라면 강의를 여러번 반복하거나 관련 서적을 이용하여 깊게 공부해두려고 합니다. 2. 게임개발자의 고용 형태. :강사님의 게임 프로그래머 개론을 들으면서 갖게된 궁금증이 생겼습니다. 보통 프로젝트 단위로 게임 개발자의 채용이 이루어진다고 하셨는데 , 그렇다면 게임 개발자는 정규직이 아닌 계약직 형태로 채용이 더 많은건지 궁금증이 생겼습니다. 물론 정규직 채용과 계약직 채용이 둘 다 있을거라고 생각하는데, 프로젝트 단위의 계약직 채용이 주를 이루고 있는걸까요 ? 3. part2 :아직 part2를 듣지 못했기 때문에 조금 이른 질문일 수도 있지만 part1이 끝나면 part2와 part3를 같이 들을 예정입니다. part2의 DirectX12 강의는 클라이언트 개발자의 주된 기술과 관련된 부분이라고 볼 수 있을까요 ? 아직 part4까지 듣지 못해서 단정지을 수 는 없지만, 클라이언트 개발자 쪽이 조금더 흥미가 가는 것 같아서 질문드립니다. 좋은 강의 올려주셔서 항상 감사합니다. 열심히 배우겠습니다.
-
미해결
어셈블리 언어
%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의 배수의 합을 구하려는 과정에서 계속 막히네요.. 대체 뭐가 문제인지 전 정말로 모르겠습니다.. ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
cmp 비교시 데이터값 질문드려요
cmp dst, src 도 마찬가지로 dst에는 레지스터 or 메모리 src에는 레지스터 or 메모리 or 상수 이렇게 사용가능하고 상수와 상수, 메모리와 메모리를 동시에 사용못하는 것이지요? GET_DEC 1, num1 GET_DEC 1, num2 cmp [num1], [num2] 하면 에러가 발생하고 cmp 10, 20 하면 에러가 발생하고 GET_DEC 1, num1 GET_DEC 1, al cmp al, [num1] 하니 정상 작동하더라고요
-
미해결
초보주의: 어셈블리어로 길이 제한 없는 문자열을 표현할 수 있는 법이 뭐가 있을까요
질문도 대충 했으니까, 그냥 힌트만 대충 주세요. 적당히 알아먹을만큼요. 나머진 제가 고민해볼게요