2011-04-26 2 views
1

현재 수정되었습니다. 사용자로부터 숫자를 입력 한 다음 입력에 대해 산술 계산을 수행해야합니다. 저는 지금 초보자입니다. 사용자에게 이름을 물어보고 출력을 출력하는 프로그램을 제외하고는 WriteConsoleA와 ReadConsoleA를 사용하는 것을 제외하고는 IO를 사용하지 않았습니다. 내가 입력에 대한 십진수로 ascii 문자를 변환하는 방법 및 출력 ascii 소수로 변환하는 방법에 대한 Google에서 어떤 도움을 찾을 수 없습니다. 필자는 라이브러리 함수를 사용하기 전에이 작업을 수동으로 수행하는 것을 선호합니다. 한 문자를 문자열로 변환하는 방법과 그 반대로 문자열을 변환하는 방법을 이해할 수 없습니다. 어떻게 이뤄지나요? 그리고 네가 대답에 코드를 작성한다면 다른 어셈블러 구문에 익숙하지 않아서 masm 구문을 사용하는 것이 가능하다. 감사합니다. DevjeetWriteConsoleA 및 readConsoleA와 함께 사용하기 위해 어셈블리에서 ascii 문자를 십진수로 변환

답변

2

당신이 알에 31H 같은 소수점이있는 경우, 당신은 단지 (AL = 31H)와 같은 ASCII 문자로 변환하기 위해 각 하나에 30H를 추가 할 수 있습니다

mov cl,al 
shr al, 4 // now al = 03 
add al,30h // now al = 33h, which if you output is the ASCII character '3' 

을 지금, 당신은 복원 할 수 있습니다 그리고 다음으로 1을 얻고 다시 30h를 더하기 위해 왼쪽으로 4 시프트. 나는 이것이 요점을 설명하기를 바랍니다 :

+0

감사합니다 남자, 그것을 가지고! – devjeetroy

관련 문제