Advertisement
Karim_Gabr

Untitled

Dec 25th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #start=simple.exe#
  2. org 100h
  3.  
  4. in ax,112 ;input packet size
  5. mov word ptr fs,ax
  6. mov bx,0 ;total packets sent
  7. mov cx,1 ;next number of packets to be transmitted
  8. mov dx,1 ;number of transmission
  9. inc bx ;send first packet
  10.  
  11. start:
  12. cmp ax,bx
  13. jae break ;if(total packets sent >= file size) break loop
  14.  
  15. ;else
  16. cmp cx,64
  17. jb less ;if(next number of packets to be transmitted < 64) next number of packets to be transmitted = total packets sent * 2
  18.  
  19. cmp cx,64
  20. jae grteq ;if(next number of packets to be transmitted >= 64) next number of packets to be transmitted = total packets sent * 2
  21.  
  22. cmp cx,128
  23. je equl ;if(next number of packets to be transmitted == 128) next number of packets to be transmitted = total packets sent * 2
  24.  
  25. less:
  26. mov ax,2
  27. mul cx
  28. add bx,cx
  29. inc dx
  30. jmp start
  31.  
  32. grteq:
  33. inc cx
  34. add bx,cx
  35. inc dx
  36. jmp start
  37.  
  38. equl:
  39. mov cx,1
  40. add bx,cx
  41. inc dx
  42. jmp start
  43.  
  44. break:
  45. mov ax,dx
  46. out 112,ax
  47.  
  48. ret
  49.  
  50. fs db ?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement