2014-04-18 1 views
0

제목으로, 현재 C++ 프로그램을 PEP/8로 번역하는 데 문제가 있습니다.C++을 Pep/8 어셈블리 언어로 변환 - 문자 배열

프로그램의 첫 번째 부분은 char 배열의 입력과 출력을 다룹니다. strInput 함수는 사용자가 엔터를 치거나 배열의 크기가 63이 될 때까지 단순히 문자 값을 배열로 읽어들입니다. 사용자가 엔터를 치면 '\ n'대신 '0'이 저장됩니다. 배열이 [63]에 도달하면 [64]에 '0'이 저장됩니다. strOut 함수는 '0'이 발견되거나 배열의 길이에 도달 할 때까지 배열의 내용을 인쇄합니다.

나는 현재 어셈블리 코드를 사용하고 있지만 계속 입력하라는 메시지가 표시됩니다. 나는 문제가 X 레지스터 및/또는 스택의 오프셋과 함께있을 것이라고 생각한다. 모든 통찰력은 인정 될 것이다.

C++ 코드 : https://gist.github.com/anonymous/b690427aaf465dd7326a

펩/8 : https://gist.github.com/anonymous/37a51a34f7eecb15f4ee

+0

컴파일러를 사용해야합니까? –

+0

Pep/8 프로그램을 사용하고 있습니다. 빌드를로드 한 다음 어셈블리를 실행 한 다음 실행하십시오. – Chukaluk

+0

코드에 무엇이 문제가 있는지 이해하지 못한다면, 진행 상황을 이해하고 수정하기 전까지 코드를 단순화하십시오. –

답변

0

나는 당신이 'ADDSP'대 변수를위한 공간을 만들기 위해 당신의 함수의 시작 부분에 'SUBSP', 필요 믿습니다.

편집 : 다른 것들 중에서도 그 변화를 만들었으므로 그 중 하나를 이해할 수 없습니다. 해결책을 찾으면 모두에게 알리십시오.

관련 문제