Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 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, a1
  50. SUB ax, 1
  51. MOV t2, ax
  52. MOV ax, t2
  53. MOV a1, ax
  54. CALL FACT
  55. POP t3
  56. MOV ax, a1
  57. MOV bx, t3
  58. MUL bx
  59. MOV t4, ax
  60. MOV ax, t4
  61. MOV tempRet, ax
  62. POP dx
  63. POP cx
  64. POP bx
  65. POP ax
  66. POP t5
  67. PUSH tempRet
  68. PUSH t5
  69. RET
  70. FACT ENDP
  71.  
  72. MAIN PROC
  73. MOV ax, @DATA
  74. MOV ds, ax
  75.  
  76. MOV ax, 0
  77. MOV c2, ax
  78. MOV t6, ax
  79. MOV ax, 10
  80. MOV a2, ax
  81. MOV t7, ax
  82. MOV ax, 15
  83. MOV b2, ax
  84. MOV t8, ax
  85. MOV ax, 5
  86. MOV a1, ax
  87. CALL FACT
  88. POP t9
  89. MOV ax, t9
  90. MOV c2, ax
  91. MOV t01, ax
  92. MOV ax, c2
  93. CALL OUTDEC
  94. MOV ah,2
  95. MOV dl,0Ah
  96. INT 21h
  97. MOV dl,0Dh
  98. INT 21H
  99.  
  100. MOV ah,4Ch
  101. INT 21h
  102. MAIN ENDP
  103.  
  104.  
  105. OUTDEC PROC
  106. PUSH AX
  107. PUSH BX
  108. PUSH CX
  109. PUSH DX
  110. OR AX,AX
  111. JGE @END_IF1
  112. PUSH AX
  113. MOV DL, '-'
  114. MOV AH, 2
  115. INT 21H
  116. POP AX
  117. NEG AX
  118. @END_IF1:
  119. XOR CX,CX
  120. MOV BX, 10D
  121. @REPEAT1:
  122. XOR DX, DX
  123. DIV BX
  124. PUSH DX
  125. INC CX
  126. OR AX, AX
  127. JNE @REPEAT1
  128. MOV AH, 2
  129. @PRINT_LOOP:
  130. POP DX
  131. OR DL, 30H
  132. INT 21H
  133. LOOP @PRINT_LOOP
  134. POP DX
  135. POP CX
  136. POP BX
  137. POP AX
  138. RET
  139. OUTDEC ENDP
  140.  
  141.  
  142.  
  143. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement