Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. a1 DW ?
  5. a2 DW ?
  6. b2 DW ?
  7. c2 DW ?
  8. tempRet DW ?
  9.  
  10. t DW ?
  11. t1 DW ?
  12. t2 DW ?
  13. t3 DW ?
  14. t4 DW ?
  15. t5 DW ?
  16. t6 DW ?
  17. t7 DW ?
  18. t8 DW ?
  19. t9 DW ?
  20. t01 DW ?
  21. .CODE
  22. FACT PROC
  23. PUSH ax
  24. PUSH bx
  25. PUSH cx
  26. PUSH dx
  27. MOV ax, a1
  28. CMP ax, 1
  29. JE L
  30. MOV t, 0
  31. JMP L1
  32. L:
  33. MOV t, 1
  34. L1:
  35. MOV ax, t
  36. CMP ax, 0
  37. JE L2
  38. MOV ax, 1
  39. MOV tempRet, ax
  40. POP dx
  41. POP cx
  42. POP bx
  43. POP ax
  44. POP t1
  45. PUSH tempRet
  46. PUSH t1
  47. RET
  48. L2:
  49. MOV ax, t2
  50. MOV a1, ax
  51. CALL FACT
  52. POP t3
  53. MOV ax, a1
  54. MOV bx, t3
  55. MUL bx
  56. MOV t4, ax
  57. MOV ax, t4
  58. MOV tempRet, ax
  59. POP dx
  60. POP cx
  61. POP bx
  62. POP ax
  63. POP t5
  64. PUSH tempRet
  65. PUSH t5
  66. RET
  67. FACT ENDP
  68.  
  69. MAIN PROC
  70. MOV ax, @DATA
  71. MOV ds, ax
  72.  
  73. MOV ax, 0
  74. MOV c2, ax
  75. MOV t6, ax
  76. MOV ax, 10
  77. MOV a2, ax
  78. MOV t7, ax
  79. MOV ax, 15
  80. MOV b2, ax
  81. MOV t8, ax
  82. MOV ax, 5
  83. MOV a1, ax
  84. CALL FACT
  85. POP t9
  86. MOV ax, t9
  87. MOV c2, ax
  88. MOV t01, ax
  89. MOV ax, c2
  90. CALL OUTDEC
  91. MOV ah,2
  92. MOV dl,0Ah
  93. INT 21h
  94. MOV dl,0Dh
  95. INT 21H
  96.  
  97. MOV ah,4Ch
  98. INT 21h
  99. MAIN ENDP
  100.  
  101.  
  102. OUTDEC PROC
  103. PUSH AX
  104. PUSH BX
  105. PUSH CX
  106. PUSH DX
  107. OR AX,AX
  108. JGE @END_IF1
  109. PUSH AX
  110. MOV DL, '-'
  111. MOV AH, 2
  112. INT 21H
  113. POP AX
  114. NEG AX
  115. @END_IF1:
  116. XOR CX,CX
  117. MOV BX, 10D
  118. @REPEAT1:
  119. XOR DX, DX
  120. DIV BX
  121. PUSH DX
  122. INC CX
  123. OR AX, AX
  124. JNE @REPEAT1
  125. MOV AH, 2
  126. @PRINT_LOOP:
  127. POP DX
  128. OR DL, 30H
  129. INT 21H
  130. LOOP @PRINT_LOOP
  131. POP DX
  132. POP CX
  133. POP BX
  134. POP AX
  135. RET
  136. OUTDEC ENDP
  137.  
  138.  
  139.  
  140. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement