Advertisement
Tusohian

MP Lab Final

Dec 13th, 2018
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1. Into Range or Not (3>=x<=8)
  2. --------------------------------
  3. DATA SEGMENT
  4. NUM1 DB ?
  5. MSG1 DB 10,13,"ENTER THE NUMBER : $"
  6. MSG2 DB 10,13," INTO THE RANGE : $"
  7. MSG3 DB 10,13," OUT OF THE RANGE : $"
  8.  
  9. ENDS
  10. CODE SEGMENT
  11. ASSUME DS:DATA CS:CODE
  12. START:
  13.  
  14. MOV AX,@DATA
  15. MOV DS,AX
  16.  
  17. LEA DX,MSG1
  18. MOV AH,9
  19. INT 21H
  20.  
  21. INPUT:
  22. MOV AH,1
  23. INT 21H
  24. MOV BL,AL
  25. SUB BL,48
  26.  
  27.  
  28. CMP BL,3
  29. JGE L2
  30.  
  31.  
  32. L1:
  33.  LEA DX,MSG3
  34.  MOV AH,9
  35.  INT 21H
  36.  JMP EXIT
  37.  
  38. L2:
  39.  CMP BL,8
  40.  
  41.  JNG L3
  42.  JMP L1
  43.  
  44.  L3:
  45.  
  46.  LEA DX,MSG2
  47.  MOV AH,9
  48.  INT 21H
  49.  
  50.  
  51. EXIT:
  52.  
  53. MOV AH,4CH
  54. INT 21H
  55.  
  56. ENDS
  57. END START
  58.  
  59.  
  60. ==============================
  61. 2. Addition Operation (Sum)
  62. -----------------------------
  63. .MODEL SMALL
  64. .STACK 100H
  65.  
  66. .DATA
  67. MSG1 DB 10,13, 'ENTER FIRST NUMBER: $'
  68. MSG2 DB 10,13, 'ENTER SECOND NUMBER: $'
  69. MSG3 DB 10,13, 'ADDITION RESULT IS: $'
  70.  
  71. .CODE
  72. MAIN PROC
  73. ;initialize data segment
  74. MOV AX,@DATA
  75. MOV DS,AX
  76.  
  77. ;message  1
  78. LEA DX,MSG1
  79. MOV AH,9
  80. INT 21H
  81.  
  82.  ;input   1
  83. MOV AH,1
  84. INT 21H
  85. MOV BL,AL
  86.  
  87. ;message  2
  88. LEA DX,MSG2  
  89. MOV AH,9
  90. INT 21H
  91.  
  92. ;input 2
  93. MOV AH,1  
  94. INT 21H
  95. MOV CL,AL
  96.  
  97.  ADD BL,CL
  98.  
  99. ;message3
  100. LEA DX,MSG3
  101. MOV AH,9
  102. INT 21H
  103.  
  104.  
  105. ;output
  106. MOV AH,2    
  107. SUB BL,48
  108. MOV DL,BL
  109. INT 21H
  110.  
  111.        
  112.  MOV AH,4CH
  113.  INT 21H
  114.  
  115. MAIN ENDP
  116. END MAIN
  117.  
  118. ============================
  119. 3. Subtraction Operation
  120. ------------------------------
  121. .MODEL SMALL
  122. .STACK 100H
  123. .DATA
  124.  
  125.  
  126. MSG1 DB 10,13," ENTER A FIRST NUMBER:        $"
  127. MSG2 DB 10,13,"ENTER A SECOND NUMBER:        $"
  128. MSG3 DB 10,13,"               ANSWER:        $"
  129.  
  130. NUM1    DB ?,'$'
  131. NUM2    DB ?,'$'
  132.  
  133. .CODE
  134. START:
  135. MOV AX,@DATA
  136. MOV DS,AX
  137. INT 21H
  138.  
  139. MOV AH,9
  140. LEA DX,MSG1
  141. INT 21H
  142.  
  143. MOV AH,1
  144. INT 21H
  145. SUB AL,30H
  146. MOV NUM1,AL
  147.  
  148. MOV AH,9
  149. LEA DX,MSG2
  150. INT 21H
  151.  
  152. MOV AH,1
  153. INT 21H
  154. SUB AL,30H
  155. MOV NUM2,AL
  156.  
  157. MOV AH,9
  158. LEA DX,MSG3
  159. INT 21H
  160.  
  161. MOV AL,NUM1
  162. SUB AL,NUM2
  163. ADD AL,30H
  164.  
  165. MOV AH,2
  166. MOV DL,AL
  167. INT 21H
  168.  
  169. MOV AH,4CH
  170. INT 21H
  171.  
  172. END START
  173.  
  174.  
  175.  
  176. ===============================
  177. 4. Show Star Using Loops
  178. --------------------------
  179.  
  180. .MODEL SMALL
  181. .DATA SEGMENT
  182. NUM1 DB ?
  183. MSG1 DB 10,13,"ENTER YOUR NUMBER  : $"
  184. ENDS
  185. CODE SEGMENT
  186. ASSUME DS:DATA CS:CODE
  187. START:
  188.  
  189. MOV AX,@DATA
  190. MOV DS,AX
  191.  
  192. LEA DX,MSG1
  193. MOV AH,9
  194. INT 21H
  195.  
  196.  
  197. MOV AH,1
  198. INT 21H
  199. MOV BL,AL
  200. SUB AL,30H
  201.  
  202.  
  203. MOV CX,0
  204. MOV CL,AL
  205.  
  206.  
  207. LOOP:
  208.  
  209. MOV AH,2
  210. MOV DL,'*'
  211.  
  212.  
  213. TOP:
  214. INT 21H
  215. LOOP TOP
  216. EXIT:
  217.  
  218. MOV AH,4CH
  219. INT 21H
  220.  
  221.  
  222. ============================
  223. 5. Finding Smaller number between 2 integer input
  224. --------------------------------------------------
  225. DATA SEGMENT
  226. NUM1 DB ?
  227. NUM2 DB ?
  228. MSG1 DB 10,13,"ENTER FIRST NUMBER TO COMPARE : $"
  229. MSG2 DB 10,13,"ENTER SECOND NUMBER TO COMPARE : $"
  230. MSG3 DB 10,13,"SMALLER NUMBER IS : $"
  231. ENDS
  232. CODE SEGMENT
  233. ASSUME DS:DATA CS:CODE
  234. START:
  235. MOV AX,DATA
  236. MOV DS,AX
  237.  
  238. LEA DX,MSG1
  239. MOV AH,9
  240. INT 21H
  241.  
  242. MOV AH,1
  243. INT 21H
  244. MOV NUM1,AL
  245.  
  246. LEA DX,MSG2
  247. MOV AH,9
  248. INT 21H
  249.  
  250. MOV AH,1
  251. INT 21H
  252. MOV NUM2,AL
  253.  
  254. LEA DX,MSG3
  255. MOV AH,9
  256. INT 21H
  257.  
  258. MOV AL,NUM1
  259.  
  260. CMP AL,NUM2
  261. JG SECOND
  262.  
  263. FIRST:  MOV AH,2
  264. MOV DL,NUM1
  265. INT 21H
  266. JMP EXIT
  267.  
  268. SECOND: MOV AH,2
  269. MOV DL,NUM2
  270. INT 21H
  271. EXIT:
  272.  
  273. MOV AH,4CH
  274. INT 21H
  275. ENDS
  276. END START
  277.  
  278. ============================
  279. 6. Show Numbers in Ascending Order:
  280. ------------------------------------
  281. .MODEL SMALL
  282. .STACK 100H
  283. .DATA
  284.  
  285. MSG DB "Limit: $"
  286. MSG1 DB 10,13, "Array: $"
  287.  
  288. .CODE
  289. MAIN PROC
  290.     MOV AX, @DATA
  291.     MOV DS, AX
  292.    
  293.     LEA DX,MSG
  294.     MOV AH,9
  295.     INT 21H
  296.      
  297.    
  298.     MOV AH,1
  299.     INT 21H
  300.     MOV BL,AL
  301.    
  302.     MOV CL,'1'
  303.    
  304.     LEA DX,MSG1
  305.     MOV AH, 9
  306.     INT 21H
  307.      
  308.    
  309. TOP:
  310.     MOV AH,2
  311.     MOV DL,CL
  312.     INT 21H
  313.     INC CL
  314.    
  315.     CMP BL,CL
  316.     JL EXIT
  317.     JMP TOP
  318.     EXIT:
  319.    
  320.     MOV AH,4CH
  321.     INT 21H
  322.    
  323.     MAIN ENDP
  324.  
  325. END MAIN
  326.  
  327. ===============================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement