i can not get the correct answer
thank you
Q: should i write the code here or what should i do??
.MODEL SMALL .STACK .DATA MSG0 DB 0DH,0AH, ' ' MSG1 DB 0DH,0AH, ' ' MSG2 DB 0DH,0AH, ' 1- ADDITION ' MSG3 DB 0DH,0AH, ' 2- SUBTRACTION ' MSG4 DB 0DH,0AH, ' 3- MULTIPLCATION ' MSG5 DB 0DH,0AH, ' 4- DIVISION ' MSG6 DB 0DH,0AH, ' ' MSG7 DB 0DH,0AH,' enter a number from 1 to 4:$ ' MSG8 DB 0DH,0AH,' enter the first number in HEX:$ ' MSG9 DB 0DH,0AH,' enter the second number in HEX:$' MSG10 DB 0DH,0AH,' ' MSG11 DB 0DH,0AH,'you have entered a wrong number please try again$' MSG12 DB 0DH,0AH,' ' MSG13 DB 0DH,0AH,' the answer =$' MSG14 DB 0DH,0AH,' the remainder =$' MSG15 DB 0DH,0AH,' ' MSG16 DB 0DH,0AH,' thank you ' MSG17 DB 0DH,0AH,' $' ANS DB ?, '$' .CODE MOV AX,@DATA MOV DS,AX AGAIN: MOV AH,9 LEA SI,MSG0 MOV DX,SI INT 21H MOV AH,01 INT 21H MOV [CS:0000H],AL CMP AL,31H JB FD1 CMP AL,34H JA FD1 JMP DO FD1: MOV AH,9 LEA SI,MSG10 MOV DX,SI INT 21H JMP AGAIN DO: MOV AH,9 LEA SI,MSG8 MOV DX,SI INT 21H MOV AH,01 INT 21H CALL NUM MOV BH,AL MOV AH,01 INT 21H CALL NUM MOV BL,AL CALL FD2 MOV [DS:0000H],BH MOV AH,01 INT 21H CALL NUM MOV BH,AL MOV AH,01 INT 21H CALL NUM MOV BL,AL CALL FD2 MOV BL,BH MOV BH,[DS:0000H] MOV [DS:0001H],BX MOV AH,9 LEA SI,MSG9 MOV DX,SI INT 21H MOV AH,01 INT 21H CALL NUM MOV BH,AL MOV AH,01 INT 21H CALL NUM MOV BL,AL CALL FD2 MOV [DS:0003H],BH MOV AH,01 INT 21H CALL NUM MOV BH,AL MOV AH,01 INT 21H CALL NUM MOV BL,AL CALL FD2 MOV BL,BH MOV BH,[DS:0003H] MOV [DS:0003H],BX MOV BX,[DS:0001H] MOV CX,[DS:0003H] MOV AL,[CS:0000H] CMP AL,31H JE ADDITION CMP AL,32H JE SUBTRACTION CMP AL,33H JE MULL CMP AL,34H JE CONT ADDITION: ADD BX,CX MOV AL,00H ADC AL,00H MOV [CS:1111H],AL JMP SHOW SUBTRACTION: SUB BX,CX MOV AL,00H ADC AL,00H MOV [CS:1111H],AL JMP SHOW CONT: JMP DIVISION MULL: MOV AX,BX MUL cX MOV [ES:0000H],DX MOV BX,AX MOV DX,BX AND BX,0F0FH MOV AL,BH CALL FD4 MOV BH,AL MOV AL,BL CALL FD4 MOV BL,AL AND DX,0F0F0H MOV CL,04 ROL DX,CL MOV AL,DH CALL FD4 MOV DH,AL MOV AL,DL CALL FD4 MOV DL,AL MOV CX,DX PUSH CX PUSH BX MOV DX,[ES:0000H] MOV BX,DX AND BX,0F0FH MOV AL,BH CALL FD4 MOV BH,AL MOV AL,BL CALL FD4 MOV BL,AL AND DX,0F0F0H MOV CL,04 ROL DX,CL MOV AL,DH CALL FD4 MOV DH,AL MOV AL,DL CALL FD4 MOV DL,AL MOV CX,DX MOV AH,9 LEA SI,MSG12 MOV DX,SI INT 21H LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],CH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BL MOV DL,[DI] MOV AH,02H INT 21H POP BX POP CX LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BH MOV DL,BH MOV AH,02H INT 21H LEA DI,ANS MOV [DI],CH MOV DL,CH MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BL MOV DL,BL MOV AH,02H INT 21h JMP CONT1 DIVISION: MOV DX,00H MOV AX,BX DIV CX MOV [ES:0007H],DX MOV BX,AX MOV DX,BX AND BX,0F0FH MOV AL,BH CALL FD4 MOV BH,AL MOV AL,BL CALL FD4 MOV BL,AL AND DX,0F0F0H MOV CL,04 ROL DX,CL MOV AL,DH CALL FD4 MOV DH,AL MOV AL,DL CALL FD4 MOV DL,AL MOV CX,DX MOV AH,9 LEA SI,MSG12 MOV DX,SI INT 21H CMP BX,0FFFFH JE PP0 LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],CH MOV DL,[DI] MOV AH,02H INT 21H PP0: CMP AL,0FFH JNE PP1 LEA DI,ANS MOV [DI],BL MOV DL,[DI] MOV AH,02H INT 21H MOV DX,[ES:0007H] MOV BX,DX AND BX,0F0FH MOV AL,BH CALL FD4 MOV BH,AL MOV AL,BL CALL FD4 MOV BL,AL AND DX,0F0F0H MOV CL,04 ROL DX,CL PP1: CMP DX,0FFFFH JNE PP MOV AL,DH CALL FD4 MOV DH,AL MOV AL,DL CALL FD4 MOV DL,AL MOV CX,DX MOV AH,9 LEA SI,MSG14 MOV DX,SI INT 21H LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],CH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BL MOV DL,[DI] MOV AH,02H INT 21H JMP CONT1 PP: JMP FD3 SHOW: MOV DX,BX AND BX,0F0FH MOV AL,BH CALL FD4 MOV BH,AL MOV AL,BL CALL FD4 MOV BL,AL AND DX,0F0F0H MOV CL,04 ROL DX,CL MOV AL,DH CALL FD4 MOV DH,AL MOV AL,DL CALL FD4 MOV DL,AL MOV CX,DX MOV [DS:1111H],CL ADD [CS:1111H],30H MOV AH,9 LEA SI,MSG12 MOV DX,SI INT 21H MOV CL,[CS:1111H] LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H MOV CL,[DS:1111H] LEA DI,ANS MOV [DI],CL MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],CH MOV DL,[DI] MOV AH,02H INT 21H LEA DI,ANS MOV [DI],BL MOV DL,[DI] MOV AH,02H INT 21H CONT1: MOV AH,9 LEA SI,MSG15 MOV DX,SI INT 21H JMP AGAIN NUM PROC CMP AL,39H JBE NUMBER41 CMP AL,46H JBE NUMBER42 CMP AL,66H JBE NUMBER43 JMP FD3 NUMBER41: CMP AL,30H JB FD3 SUB AL,30H RET NUMBER42: CMP AL,41H JB FD3 SUB AL,37H RET NUMBER43: CMP AL,61H JB FD3 SUB AL,57H RET NUM ENDP FD2 PROC MOV CL,04 ROL BH,CL ADD BH,BL RET FD2 ENDP FD4 PROC CMP AL,09H JBE NUMBER4 CMP AL,0FH JBE NUMBER5 NUMBER4: ADD AL,30H RET NUMBER5: ADD AL,37H RET FD4 ENDP FD3: MOV AH,9 LEA SI,MSG10 MOV DX,SI INT 21H JMP AGAIN MOV AX,4C00H INT 21H END
Edited by Roger, 30 May 2011 - 01:36 PM.
added code from your cal.asm file


Sign In
Create Account

Back to top









