2013-06-18 1 views
0

이 어셈블리 언어 프로그램에 도움이 필요합니다. 프로그램을 작성하는 데 첫 번째 시간이기 때문에 시작하는 방법을 모르겠습니다. 여기에 질문이 있습니다Tasm 프로그램 오류

사용자가 몇 년 (1에서 30까지)의 숫자를 입력 할 수있게 한 다음 그 번호에 몇 달, 몇 주, 며칠, 몇 분이 있는지를 알려주는 어셈블리 언어 프로그램을 작성하십시오 년. 예 1 : 1 출력 : 달 : 12 주 : 52 일 : 365 시간 : 8760 분 : 525,600

나는 우리 실험실 설명서에서이있어 내가 만들려고 입력 : 년의 수 내 자신의 안마하지만 그것은 잘못이며 제대로 실행할 수 없습니다. 그것은 첫 번째 운동이지만 다시 구조를 시작하는 방법을 모르겠습니다. 저는 프로그래밍의 초보자이며이 프로그램에서 잘되고 싶습니다. 고마워요. 미안 해요, 영어가 안좋아.

+0

작동하지 않는 코드는 어떻게 생깁니 까? "이 프로그램을 어떻게 작성합니까?"보다 구체적인 질문을해야합니다. – Michael

+0

먼저 어셈블러 교과서를 조금 더 읽어야합니다. 키보드 입력을 얻기 위해 호출 할 인터럽트, 콘솔로 인쇄를 호출하는 기본 인터럽트 및 기본 연산 연산 지침을 보여줍니다. 책에서 읽거나 수업에 출석하기 전에 실험실을 시도하는 것은 효과가 없을 것입니다. –

+0

당신의 첫 번째 임무는 상처를 꿰맬 것을 요구하고 있으며, 당신의 인생에서 이전에 의료 행위를 한 적이 없습니다. 당신은 더 기본적인 매뉴얼/튜토리얼을 찾고, 기본적인 실용적인 기술을 습득하고, 실용적인 기술로 몇 가지 작은 문제를 해결 한 다음이 문제를 해결하기 위해 다시 찾아 와야합니다. – ady

답변

0

적절한 누락 값을 확인하려면 디버거를 사용하십시오.

편집기를 사용하여 결과를 입력하십시오. 필기 결과는 허용되지 않습니다.

TITLE CS14PGM1: DEBUGGER 
     ; MY NAME IS (your name here). 
     .MODEL SMALL 
     .STACK 100H 
     .DATA 
xx   db 0E5h 
xx1   db 74h 
yy   dw 0BB33h 
A   DW 5599h 
B   DW  -37 
MESSAGE DB  '98765' 
     .CODE 
MAIN  PROC 
     MOV AX, @DATA 
     MOV  DS, AX 
     MOV AX, A 
     MOV  AX, 0AABAH 
     MOV  AL, MESSAGE 
     MOV  AX, 0AABAH 
     MOV  AL, BYTE PTR A 
     MOV  AX, WORD PTR xx1 
     LEA  AX, MESSAGE 
     MOV  AX, 1237H 
     MOV  AX, B 
     MOV  AX, 5234H 
     MOV  AL, -23 
     MOV  BYTE PTR A, -23 
     MOV  A, -23 
     mov  al, byte ptr xx+1  ; ax= 
     mov  bl, byte ptr yy+1  ; bx= 
     mov  cx, word ptr xx  ; cx= 
     mov  byte ptr xx, 0AAh  ; xx= 
     mov  byte ptr xx+1, 0BBh ; xx1= 
     mov  word ptr xx, 0CCDDh ; xx= xx1= 
     mov  byte ptr yy, 22h  ; yy= 
     mov  byte ptr yy+1, 33h  ; yy= 
     mov  word ptr xx+1, 4455h ; xx= xx1= yy= 
     mov  word ptr xx1, 0099h ; xx= xx1= yy= 
     mov  word ptr a+1, 1234h ; A=  B= 

     MOV  AX, 4C00H 
     INT  21H 
MAIN  ENDP 
END  MAIN 
관련 문제