Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .stack 100h
- .data
- MESSAGE5 db 'c - ( a + b ) / ( a � c ) + c * d = $'
- MESSAGE1 db 'A=$'
- MESSAGE2 db 'B=$'
- MESSAGE3 db 'c=$'
- MESSAGE4 db 'd=$'
- d db ?
- a dw ?
- b dw ?
- c dw ?
- s db 6 dup (20h),'$'
- STRING db 8 dup (?) ;???????? ??????
- .CODE
- INPUT_NUMBER PROC
- MOV AH, 3FH ;?????? ????? ? ???? ?????? ????????
- MOV BX, 0
- LEA DX, STRING
- INT 21H ;??????? AX ????? ????????? ?????????? ?????????
- ;???????? +2
- MOV DI, AX ;????????? ?????????? ????????? ???????? ? DI
- SUB DI, 3 ;??????? ??????? ?????????? ???????
- CMP DI, 0 ;??? ?????? ????? ?? ????? ?????
- JE B1
- A1:
- MOV AL, STRING[DI] ;???????? ??????, ?? ??????? ?????????? DI, ? AL
- SUB AL, 30H ;??????????? ?????? ? ????? (?????)
- MOV AH, 0 ;AH ??????????
- DEC DI ;???????? ??????? ??????? ?? ???? ?????? ?????
- CMP DI, 0 ;?????????, ????????????? ?? ??? ???????, ?????
- ;???????, ??????? ????? ????????? ???? ?????
- JNE A1 ;???? ?? ?????? ??????, ????????? ????
- CMP STRING[DI], '-';?????????? ?????? ?????? ? ???????? '-'
- JE M1 ;???? '-'�??????? ?? M1,????? ????? ?????????????
- B1: MOV AL, STRING[DI] ;??????????? ??????? ?????? ?????
- SUB AL, 30H
- MOV AH, 0
- ADD BX, AX ;???????? ?????????? ????? ?? AX ? N
- JMP M2
- M1: NEG BX
- M2:
- RET
- INPUT_NUMBER ENDP
- PRINT_NUMBER PROC ;????? ????? ?? AX ?? ?????
- PUSH AX ;????????? ????? ?? AX ? ?????
- MOV SI, 0AH ;???????? ??? ????????? ???????? ???????
- MOV DI, 05H ;??????????? ????? ???? DW ????? ???????? 6
- MOV DX, 00H ;dx=0, ??? ??? (DX:AX)/SI
- CMP AX, 00H ;????????? ???? ?????
- JGE ROUTINE ;???? ????? ?????????????, ????????? ?? ????? m
- NEG AX
- ROUTINE:
- DIV SI ;???????? ?????? ?????
- ADD DL, 30H ;??????????? ?????????? ????? ? ??????
- MOV S[DI], DL ;????????? ?????????? ?????? ? ?????? ??????????
- XOR DX, DX
- DEC DI ;???????? ??????? ????????? ? ?????? ?????
- CMP AX, 00H ;?????????, ????????????? ?? ??? ??????? ?????
- JNE ROUTINE
- POP AX
- CMP AX, 00H ;????????? ???? ??????????????? ?????
- JGE OUTPUT ;???? ????? ?????????????
- MOV S[DI], 2DH ;????????? �-�
- DEC DI
- OUTPUT:
- INC DI
- MOV AH, 09H
- LEA DX, S[DI]
- INT 21H
- RET
- PRINT_NUMBER ENDP
- MAIN:
- MOV AX, @DATA
- MOV DS, AX
- MOV AH, 09H
- LEA DX, MESSAGE1
- INT 21H
- CALL INPUT_NUMBER
- mov a,bx
- MOV AH, 09H
- LEA DX, MESSAGE3
- INT 21H
- CALL INPUT_NUMBER
- mov c,bx
- MOV AH, 09H
- LEA DX, MESSAGE4
- INT 21H
- CALL INPUT_NUMBER
- mov d,bl
- MOV AH, 09H
- LEA DX, MESSAGE2
- INT 21H
- CALL INPUT_NUMBER
- mov b,bx
- mov ax,a
- add bx,ax
- push bx
- mov ax,a
- mov cx,c
- sub ax,cx
- pop bx
- idiv ax
- mov ah,0
- ;mov cx, c
- ;sub cx,bx
- ;push cx
- ;mov cl,d
- ;mul c
- ;push cx
- ;mov ax,a
- ;sub ax,c
- ;pop cx
- ;add ax,cx
- ;pop bx
- ;div ax
- mov ah,09h
- lea dx,message5
- int 21h
- ;mov ax,bx
- call PRINT_NUMBER
- MOV AH,4CH
- INT 21H
- END MAIN
Add Comment
Please, Sign In to add comment