Guest User

Untitled

a guest
Nov 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. .model small
  2. .stack 100h
  3. .data
  4.  
  5. MESSAGE5 db 'c - ( a + b ) / ( a � c ) + c * d = $'
  6. MESSAGE1 db 'A=$'
  7. MESSAGE2 db 'B=$'
  8. MESSAGE3 db 'c=$'
  9. MESSAGE4 db 'd=$'
  10. d db ?
  11. a dw ?
  12. b dw ?
  13. c dw ?
  14. s db 6 dup (20h),'$'
  15. STRING db 8 dup (?) ;???????? ??????
  16. .CODE
  17.  
  18. INPUT_NUMBER PROC
  19.  
  20. MOV AH, 3FH ;?????? ????? ? ???? ?????? ????????
  21. MOV BX, 0
  22. LEA DX, STRING
  23. INT 21H ;??????? AX ????? ????????? ?????????? ?????????
  24. ;???????? +2
  25. MOV DI, AX ;????????? ?????????? ????????? ???????? ? DI
  26. SUB DI, 3 ;??????? ??????? ?????????? ???????
  27. CMP DI, 0 ;??? ?????? ????? ?? ????? ?????
  28. JE B1
  29. A1:
  30. MOV AL, STRING[DI] ;???????? ??????, ?? ??????? ?????????? DI, ? AL
  31. SUB AL, 30H ;??????????? ?????? ? ????? (?????)
  32. MOV AH, 0 ;AH ??????????
  33. DEC DI ;???????? ??????? ??????? ?? ???? ?????? ?????
  34. CMP DI, 0 ;?????????, ????????????? ?? ??? ???????, ?????
  35. ;???????, ??????? ????? ????????? ???? ?????
  36. JNE A1 ;???? ?? ?????? ??????, ????????? ????
  37. CMP STRING[DI], '-';?????????? ?????? ?????? ? ???????? '-'
  38. JE M1 ;???? '-'�??????? ?? M1,????? ????? ?????????????
  39. B1: MOV AL, STRING[DI] ;??????????? ??????? ?????? ?????
  40. SUB AL, 30H
  41. MOV AH, 0
  42. ADD BX, AX ;???????? ?????????? ????? ?? AX ? N
  43. JMP M2
  44. M1: NEG BX
  45. M2:
  46. RET
  47. INPUT_NUMBER ENDP
  48.  
  49. PRINT_NUMBER PROC ;????? ????? ?? AX ?? ?????
  50.  
  51. PUSH AX ;????????? ????? ?? AX ? ?????
  52. MOV SI, 0AH ;???????? ??? ????????? ???????? ???????
  53. MOV DI, 05H ;??????????? ????? ???? DW ????? ???????? 6
  54.  
  55. MOV DX, 00H ;dx=0, ??? ??? (DX:AX)/SI
  56. CMP AX, 00H ;????????? ???? ?????
  57. JGE ROUTINE ;???? ????? ?????????????, ????????? ?? ????? m
  58. NEG AX
  59. ROUTINE:
  60. DIV SI ;???????? ?????? ?????
  61. ADD DL, 30H ;??????????? ?????????? ????? ? ??????
  62. MOV S[DI], DL ;????????? ?????????? ?????? ? ?????? ??????????
  63. XOR DX, DX
  64. DEC DI ;???????? ??????? ????????? ? ?????? ?????
  65. CMP AX, 00H ;?????????, ????????????? ?? ??? ??????? ?????
  66. JNE ROUTINE
  67.  
  68. POP AX
  69. CMP AX, 00H ;????????? ???? ??????????????? ?????
  70. JGE OUTPUT ;???? ????? ?????????????
  71. MOV S[DI], 2DH ;????????? �-�
  72. DEC DI
  73. OUTPUT:
  74.  
  75. INC DI
  76. MOV AH, 09H
  77. LEA DX, S[DI]
  78. INT 21H
  79. RET
  80. PRINT_NUMBER ENDP
  81.  
  82. MAIN:
  83. MOV AX, @DATA
  84. MOV DS, AX
  85.  
  86. MOV AH, 09H
  87. LEA DX, MESSAGE1
  88. INT 21H
  89.  
  90. CALL INPUT_NUMBER
  91.  
  92. mov a,bx
  93.  
  94. MOV AH, 09H
  95. LEA DX, MESSAGE3
  96. INT 21H
  97.  
  98. CALL INPUT_NUMBER
  99.  
  100. mov c,bx
  101.  
  102. MOV AH, 09H
  103. LEA DX, MESSAGE4
  104. INT 21H
  105.  
  106. CALL INPUT_NUMBER
  107.  
  108. mov d,bl
  109.  
  110. MOV AH, 09H
  111. LEA DX, MESSAGE2
  112. INT 21H
  113.  
  114. CALL INPUT_NUMBER
  115.  
  116. mov b,bx
  117.  
  118. mov ax,a
  119. add bx,ax
  120. push bx
  121.  
  122. mov ax,a
  123. mov cx,c
  124. sub ax,cx
  125.  
  126. pop bx
  127. idiv ax
  128. mov ah,0
  129.  
  130. ;mov cx, c
  131.  
  132. ;sub cx,bx
  133.  
  134.  
  135. ;push cx
  136.  
  137.  
  138. ;mov cl,d
  139. ;mul c
  140.  
  141. ;push cx
  142. ;mov ax,a
  143. ;sub ax,c
  144. ;pop cx
  145. ;add ax,cx
  146. ;pop bx
  147. ;div ax
  148.  
  149.  
  150.  
  151. mov ah,09h
  152. lea dx,message5
  153. int 21h
  154.  
  155. ;mov ax,bx
  156.  
  157. call PRINT_NUMBER
  158.  
  159.  
  160. MOV AH,4CH
  161. INT 21H
  162.  
  163. END MAIN
Add Comment
Please, Sign In to add comment