Advertisement
Guest User

Untitled

a guest
May 17th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.35 KB | None | 0 0
  1. print macro str
  2. mov ah, 09h
  3. lea dx, str
  4. int 21h
  5. endm
  6.  
  7. yell macro
  8. mov ax, 0600h
  9. mov bh, 07h
  10. mov cx, 0000h
  11. mov dx, 184Fh
  12. int 10h
  13.  
  14. mov ah, 02
  15. mov bh, 00
  16. mov dx, 0000
  17. int 10h
  18. endm
  19.  
  20. .model small
  21. .stack 100h
  22. .data
  23. var1 db 13,10, "Enter username: ", "$"
  24. var2 db 13,10, "Please enter password: ", "$"
  25. agranted db 13,10, "ACCESS GRANTED ", "$"
  26. adenied db 13,10, "ACCESS DENIED ", "$"
  27. cont db 13,10, "PRESS 'C' TO CONTINUE", "$"
  28. cont1 db 13,10, "PRESS 'C' TO CONTINUE.....'E' TO EXIT", "$"
  29.  
  30. mes1 db 13,10, "Enter your name: ", "$"
  31. mes2 db 13,10, "Hello ", "$"
  32. mes3 db 13,10, "Welcome to Assembly Language", "$"
  33. newLine db "$"
  34.  
  35. nameinput label byte
  36. maxname db 50
  37. current db ?
  38. namefield db 50 dup(?)
  39.  
  40. a1 db 13,10, " ------------------------ ", "$"
  41. a2 db 13,10, " ! -------------------- ! ", "$"
  42. a3 db 13,10, " ! ! ! ! ", "$"
  43. a4 db 13,10, " ! ! ! ! ", "$"
  44. a5 db 13,10, " ! ! ! ! ", "$"
  45. a6 db 13,10, " ! ! ! ! ", "$"
  46. a7 db 13,10, " ! ! ! ! ", "$"
  47. a8 db 13,10, " ! ! ------------ ", "$"
  48. a9 db 13,10, " ! ! ! ! ", "$"
  49. a10 db 13,10, " ! ! ! ! ", "$"
  50. a11 db 13,10, " ! ! ! ! ", "$"
  51. a12 db 13,10, " ! ! ! ! ", "$"
  52. a13 db 13,10, " ! ! ! ! ", "$"
  53. a14 db 13,10, " ! ! ! ! ", "$"
  54. a15 db 13,10, " ! ! ! ! ", "$"
  55. a16 db 13,10, " ! ! ! ! ", "$"
  56. a17 db 13,10, " ! ! ! ! ", "$"
  57.  
  58. .code
  59.  
  60. main proc
  61.  
  62. mov ax, @data
  63. mov ds, ax
  64.  
  65. mov ah, 02h
  66. mov bh, 00
  67. mov dh, 10
  68. mov dl, 35
  69. int 10h
  70.  
  71. yell
  72.  
  73. mov ah, 02h
  74. mov bh, 00
  75. mov dh, 10
  76. mov dl, 42
  77. int 10h
  78.  
  79. print var1
  80.  
  81. mov ah, 1
  82. int 21h
  83. cmp al, "r"
  84. jne deny
  85.  
  86.  
  87.  
  88. mov ah, 1
  89. int 21h
  90. cmp al, "o"
  91. jne deny
  92.  
  93.  
  94.  
  95. mov ah, 1
  96. int 21h
  97. cmp al, "y"
  98. jne deny
  99.  
  100.  
  101.  
  102. mov ah, 1
  103. int 21h
  104. cmp al, "e"
  105. jne deny
  106.  
  107. mov ah, 1
  108. int 21h
  109. cmp al, "l"
  110. jne deny
  111.  
  112. mov ah, 1
  113. int 21h
  114. cmp al, "l"
  115. jne deny
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. print var2
  124.  
  125. mov ah, 7
  126. int 21h
  127. cmp al, "y"
  128. jne deny
  129.  
  130. mov bx, 42
  131. mov dx, bx
  132. mov ah,2
  133. int 21h
  134.  
  135. mov ah, 7
  136. int 21h
  137. cmp al, "e"
  138. jne deny
  139.  
  140. mov bx, 42
  141. mov dx, bx
  142. mov ah,2
  143. int 21h
  144.  
  145. mov ah, 7
  146. int 21h
  147. cmp al, "l"
  148. jne deny
  149.  
  150. mov bx, 42
  151. mov dx, bx
  152. mov ah,2
  153. int 21h
  154.  
  155. mov ah, 7
  156. int 21h
  157. cmp al, "l"
  158. jne deny
  159.  
  160. mov bx, 42
  161. mov dx, bx
  162. mov ah,2
  163. int 21h
  164.  
  165.  
  166.  
  167.  
  168. print agranted
  169. jmp return1
  170.  
  171.  
  172.  
  173. deny:
  174. print adenied
  175. jmp ending
  176.  
  177. return1:
  178. print cont
  179. mov ah, 1
  180. int 21h
  181. mov bl, al
  182. mov ah, 2
  183. mov dl, 0Dh
  184. int 21h
  185. cmp bl, "C"
  186. je menu1
  187. jmp return1
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. menu1:
  196. mov ax, 0600h
  197. mov bh, 07h
  198. mov cx, 0000h
  199. mov dx, 184Fh
  200. int 10h
  201.  
  202. mov ah, 02
  203. mov bh, 00
  204. mov dx, 0000
  205. int 10h
  206.  
  207. mov ah, 02h
  208. mov bh, 00
  209. mov dh, 10
  210. mov dl, 42
  211. int 10h
  212.  
  213. mov ah, 09
  214. lea dx, mes1
  215. int 21h
  216.  
  217. mov ah, 0Ah
  218. lea dx, nameinput
  219. int 21h
  220.  
  221. mov bl, current
  222. mov namefield[bx], "$"
  223.  
  224.  
  225.  
  226. mov ah, 09h
  227. lea dx, mes2
  228. int 21h
  229.  
  230. mov ah, 09h
  231. lea dx, namefield
  232. int 21h
  233.  
  234. print mes3
  235.  
  236. jmp return2
  237.  
  238.  
  239. return2:
  240. print cont1
  241. mov ah, 1
  242. int 21h
  243. mov bl, al
  244. mov ah, 2
  245. mov dl, 0Dh
  246. int 21h
  247. cmp bl, "C"
  248. je menu2
  249. cmp bl, "E"
  250. mov ah, 4Ch
  251. int 21h
  252.  
  253. menu2:
  254. yell
  255. print a1
  256. print a2
  257. print a3
  258. print a4
  259. print a5
  260. print a6
  261. print a7
  262. print a8
  263. print a9
  264. print a10
  265. print a11
  266. print a12
  267. print a13
  268. print a14
  269. print a15
  270. print a16
  271. print a17
  272. jmp ending
  273.  
  274.  
  275. ending:
  276. mov ah, 4Ch
  277. int 21h
  278.  
  279. main endp
  280. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement