나는 그런 기본적인 질문을하는 것이 싫다. 그것은 내가 게으른 것처럼 보이게합니다! 그러나 나는 문서를보고 몇 시간을 보냈습니다. 그리고 어떤 이유에서이 작은 지점에서 머리를 똑바로 돌릴 수는 없습니다.MASM32에서 숫자를 인쇄하는 방법을 알아낼 수 없습니다.
"4"문자를 화면에 인쇄하려고합니다. 문자열로 할 수는 있지만 ascii 값으로는 할 수 없습니다.
include c:\masm32\include\masm32rt.inc
.data
num4 db "4", 10,0
.code
start:
invoke StdOut, addr num4
inkey
invoke ExitProcess, 0
end start
난 그냥 ("4"입니다)가 인쇄 ASCII 문자 (52)로부터 아기 조치를 취할 원 : 여기
는 작업 코드입니다. 그런 다음 조립 및 문제없이 링크,하지만
include c:\masm32\include\masm32rt.inc
.data
.code
start:
myvar db 52
invoke StdOut, myvar
inkey
invoke ExitProcess, 0
end start
내가 그것을 실행할 때 충돌 : 여기에 지금까지 최선의 시도이다. 나는 끝에 0 문자가 없다는 것을 알고 있지만 invoke StdOut, myvar,0
에는 StdOut에 대한 인수가 너무 많습니다.
x86 assembly (masm32) - how to split multi-digit data into individual characters
내가 구문 너무 많은 문제가 발생하고 있기 때문에, 나는이 복용하고 아기 단계 : 여기 알렉세이 Frunze에 의해 설명 된 바와 같이
내 최종 목표는 여러 자리 숫자를 인쇄 할 수있다 . 나는이 발견,하지만 구문 추가 (48) 부분을 수행하는 방법을 설명하지 않습니다
x86 assembly - how to show the integer 2, not the second ASCII character
날이 개방 장애물 과거를 얻을 수 있도록, 당신을 감사하십시오!
이 답변은 놀라운 것이며 내 미래 목표에 대한 지침을 제공합니다 (아직이 답변의 모든 측면을 이해하지 못했지만 귀하의 의견은 매우 유용하며 시간과 끈기와 함께 올 것이라고 생각합니다) . 하지만 내가 제시 한 비 작동 코드에 대한 대답도 있습니까? –
아, 그리고 왜 당신은 clrf를 선언 했습니까? 다른 곳에서는 사용되지 않습니다. –
@Choirbean : 업데이트 된 답변을 살펴보십시오. 나는 최선을 다했다 :-) – rkhb