Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. ;8086 program to convert a 16 bit decimal number to Hexadecimal
  2. .MODEL SMALL
  3. .STACK 100H
  4. .DATA
  5. d1 dw 999
  6. var1 db 0
  7. var2 db 0
  8. .CODE
  9. MAIN PROC
  10.  
  11.  
  12. mov ah, 1
  13. int 21h
  14.  
  15. cmp al,'-'
  16. jne pos;
  17.  
  18. mov var1,1;
  19.  
  20. mov ah, 1
  21. int 21h
  22.  
  23. cmp al, 39h
  24. jg letter
  25.  
  26.  
  27.  
  28. sub al, 30h
  29. jmp digit
  30. letter:
  31. sub al, 57h
  32. digit:
  33.  
  34. mov bl,al
  35. jmp input2
  36.  
  37. pos:
  38.  
  39. cmp al, 39h
  40. jg letter5
  41.  
  42. sub al, 30h
  43.  
  44. jmp digit5
  45. letter5:
  46. sub al, 57h
  47. digit5:
  48. mov bl,al
  49.  
  50. input2:
  51.  
  52. mov ah, 1
  53. int 21h
  54.  
  55. cmp al, 39h
  56. jg letter2
  57.  
  58. sub al, 30h
  59. jmp digit2
  60.  
  61. letter2:
  62. sub al, 57h
  63.  
  64. digit2:
  65.  
  66. shl bx, 4
  67. mov ch,al
  68. or bl, ch
  69.  
  70. ;two digits cleared
  71.  
  72. mov ah, 1
  73. int 21h
  74.  
  75. cmp al, 39h
  76. jg letter3
  77.  
  78. sub al, 30h
  79. jmp digit3
  80.  
  81. letter3:
  82. sub al, 57h
  83.  
  84. digit3:
  85.  
  86. ;sub al, 30h
  87. shl bx, 4
  88. mov ch,al
  89. or bl, ch
  90.  
  91. mov ah, 1
  92. int 21h
  93.  
  94. cmp al, 39h
  95. jg letter4
  96.  
  97. sub al, 30h
  98. jmp digit4
  99.  
  100. letter4:
  101. sub al, 57h
  102.  
  103. digit4:
  104.  
  105. ;sub al, 30h
  106. shl bx, 4
  107. mov ch,al
  108. or bl, ch
  109.  
  110. cmp var1, 1
  111. jne print
  112.  
  113. mov dx,65535
  114.  
  115. sub dx,bx
  116. add dx,1
  117. mov bx,dx
  118. print:
  119.  
  120. mov cx,61440
  121. mov dx,bx
  122. and dx,cx
  123. shr dx,12
  124. cmp dx,9
  125. jg printL
  126.  
  127. add dx,30h
  128. jmp go
  129. printL:
  130. add dx,57h
  131. go:
  132. mov ah,2
  133. int 21h
  134.  
  135. mov cx,3840
  136. mov dx,bx
  137. and dx,cx
  138. shr dx,8
  139. cmp dx,9
  140. jg printL1
  141.  
  142. add dx,30h
  143. jmp go1
  144. printL1:
  145. add dx,57h
  146. go1:
  147. mov ah,2
  148. int 21h
  149.  
  150. mov cx,240
  151. mov dx,bx
  152. and dx,cx
  153. shr dx,4
  154. cmp dx,9
  155. jg printL2
  156.  
  157. add dx,30h
  158. jmp go2
  159. printL2:
  160. add dx,57h
  161. go2:
  162. mov ah,2
  163. int 21h
  164.  
  165.  
  166. mov cx,15
  167. mov dx,bx
  168. and dx,cx
  169. cmp dx,9
  170. jg printL3
  171.  
  172. add dx,30h
  173. jmp go3
  174. printL3:
  175. add dx,57h
  176. go3:
  177. mov ah,2
  178. int 21h
  179.  
  180.  
  181.  
  182. mov ah,4ch
  183. int 21h
  184.  
  185. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement