.MODEL SMALL
.STACK 64
.DATA
MSGA DB 13,10,"Input first number: ","$"
MSGB DB 13,10,"Input second number:","$"
MSGC DB 13,10,"The quotient is: ","$"
MSGD DB 13,10,"The modulo is: ","$"
NUM1 db ?
NUM2 db ?
.CODE
MAIN PROC NEAR
MOV AX, @DATA
MOV DS, AX
; get first number
LEA DX, MSGA
MOV AH, 09h
INT 21h
MOV AH, 01
INT 21H
SUB AL, '0'
MOV BL, AL
; get second number
LEA DX, MSGB
MOV AH, 09h
INT 21h
MOV AH, 01
INT 21H
SUB AL, '0'
MOV CL, AL
MOV AL, BL
; divide
DIV CL
MOV NUM1, AL
ADD NUM1, '0'
MOV NUM2, AH
ADD NUM2, '0'
; output quotient
LEA DX, MSGC
MOV AH, 09h
INT 21h
MOV DL, NUM1
MOV AH, 02H
INT 21h
; output remainder/modulo
LEA DX, MSGD
MOV AH, 09h
INT 21h
MOV DL, NUM2
MOV AH, 02H
INT 21h
MOV AH, 4Ch
INT 21h
MAIN ENDP
END MAIN
어셈블리 언어를 처음 사용하고 DIV 작동에 문제가 있습니다.어셈블리에서 DIV 작업을 사용하는 방법
1 자리 숫자를 1 자리 숫자로 나누면 몫과 나머지를 출력해야합니다. 내 코드에 어떤 문제가 있습니까?
내 코드 실행되지만 출력 : 경험 여기
의견 변경에 코드입니다 : 나 팝, 당신이
는 소스가 :) 삭제할 수 있도록 스택 세그먼트를 사용 할 필요가 다른 가치. 나는 그것을 어떻게 할 것인가? 설명해주십시오, 저는 새로운 어셈블리입니다. 덕분에 –