0
문자열을 출력하는 방법을 알고 있습니다. 번호를 출력하려면 어떻게합니까? MS DOS를 사용하고 있습니다. Windows 어셈블러 6.11을 사용하여 컴파일Microsoft MASM 어셈블러에서 숫자를 출력하십시오.
다음은 내가 시도한 것입니다. 그러나 그것은 쓰레기를 인쇄합니다
아래의 설명에 따라 코드를 편집했습니다.
[EDITED]
DATA SEGMENT
NUM1 DW 0001H
NUM2 DW 0002H
SUM DW 2 DUP(0)
RESULT DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,00H
MOV AX,NUM1
ADD AX,NUM2
JNC DISPLAY
INC CX
MOV SUM+2,CX
DISPLAY:
MOV SI,RESULT
ADD SI,9
MOV AX,0
MOV [SI],AX
MOV BX,10
LOOP1:
XOR DX,DX
DIV BX
ADD DL,'0'
DEC SI
MOV [SI],DL
TEST AX,AX
JNZ LOOP1
MOV AX,SI
LEA SI,RESULT
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
먼저 문자열로 숫자를 변환 할 수 있고, 그 문자열을 인쇄 할 수 있습니다. – Michael
@Michael 약간의 검색을 했습니까? 메소드는 라이브러리의 c 함수를 포함합니다. 복잡한 것 같습니다. 문자열에 대해 MOV AH, 09H와 같은 직접적인 DOS 호출이 있습니까? – user2756339
C 함수를 사용할 필요가 없습니다. 예 : http://stackoverflow.com/questions/19309749/nasm-assembly-convert-input-to-integer/19312503#19312503 – Michael