home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c221 / 5.ddi / MWHC.005 / 10 < prev    next >
Encoding:
Text File  |  1992-03-19  |  15.0 KB  |  437 lines

  1. @^//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
  2. @^\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
  3. @^\-\-+013 
  4. @^//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ WELCOME\ TO\ THE\ HIGHC\+\+/MDB\+
  5. @^\+\ DEMO+013 
  6. @^//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
  7. @^\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
  8. @^\-\-+013 
  9. @^sleep\ 1500+013 
  10. @^//\ We\ will\ begin\ by\ stepping\ into\ main\ and\ then\ look\ at\ 
  11. @^the+013 
  12. @^//\ class\ manipulate_array\ \ (d).+013 
  13. @^sleep\ 1000+013 
  14. @^-066 
  15. @^-066 
  16. @^-066 
  17. @^-066 
  18. @^//\ Now\ let's\ examine\ the\ class\ manipulate_array\ +008 .+013 
  19. @^//\ We\ can\ examine\ it\ with\ the\ 'exa\ d'\ command.+013 
  20. @^sleep\ 1000+013 
  21. @^exa\ d+013 +027 
  22. @^// The\ class\ manipulate\  _array\ is\ inherited\ from\  creat_array\ \
  23. @^,\ array_op,+013 
  24. @^//\ and\ define_array.\ \ define_array\ is\ the\ virtual\ base\ class.\ \ 
  25. @^The\ pointer+013 
  26. @^//\ __vbp_define_array\ is\ the\ virtual\ base\ pointer\ to\ the\ class\ 
  27. @^+013 
  28. @^//\ define_array\ as\ indicated\ by\ __vbp_.+013 
  29. @^sleep\ 2000+013 
  30. @^//\ We\ can\ go\ back\ to\ window\ 3\ and\ look\ at\ the\ define_array\ c
  31. @^lass\ by+013 
  32. @^//\ following\ the\ pointer\ (*__vbp_define_array).+013 
  33. @^sleep\ 1000+013 
  34. @^//\ The\ address\ of\ the\ pointer\ is\ the\ same,\ because\ i
  35. @^t\ is\ a+013 
  36. @^//\ virtual\ class.+013 
  37. @^sleep\ 1000+013 
  38. @^delay\ 20+013
  39. @^-122 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -072 -072 
  40. @^-072 -072 -072 -072 -072 -072 -072 -072 -062 -038 -072 -072 -072 -072 -072 
  41. @^-072 -072 -072 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  42. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  43. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  44. @^-077 +013 -080 -080 -080 -080 -080 -062 +027 
  45. @^sleep\ 1200+013 
  46. @^delay\ 1+013
  47. @^//\ Now\ let's\ close\ the\ windows\ and\ continue\ debugging.+013 
  48. @^sleep\ 1000+013 
  49. @^-122 -060 -066 
  50. @^-066 
  51. @^//\ Let's\ set\ a\ breakpoint\ at\ the\ function\ insert().\  The\ debugger\ will\ allow+013 
  52. @^//\ us\ to\ select\ from\ the\ matching\ functions.\ \ The\ list\ of\ the
  53. @^\ functions+013 
  54. @^//\ to\ select\ will\ include\ overloaded\ functions.+013 
  55. @^sleep\ 2000+013 
  56. @^delay\ 100+013
  57. @^b\ in+013 -080 +013 
  58. @^delay\ 1+013
  59. @^//\ Let's\ look\ at\ the\ function\ we\ selected\ to\ make\ sure\ it
  60. @^\ is\ correct.+013 
  61. @^b+013 
  62. @^sleep\ 600+013 
  63. @^//\ Now\ that\ we\ have\ selected\ the\ breakpoint,\ we\ can\ run\ the\ 
  64. @^program\ to\ stop\ +013 
  65. @^//\ at\ create_array\:\:insert+013 
  66. @^sleep\ 1200+013 
  67. @^go+013 
  68. @^-066 
  69. @^//\ Now\ let's\ examine\ the\ 'this'\ pointer.+013 
  70. @^sleep\ 1000+013 
  71. @^exa\ this+013 +027 
  72. @^//\ Because\ 'this'\ is\ a\ pointer,\ we\ can\ follow\ it.+013 
  73. @^sleep\ 1000+013 
  74. @^delay\ 20+013
  75. @^-122 -062 -080 -062 -080 -080 -080 -080 -080 -062 +027 //\ As\ you\ can\ 
  76. @^see,\ the\ debugger\ allows\ you\ to\ follow\ as\ many\ pointers+013 
  77. @^//\ as\ you\ want.\ \ We\ can\ now\ close\ the\ windows\ and\ look\ 
  78. @^at\ a\ few\ variables.+013 
  79. @^sleep\ 1000+013 
  80. @^-122 -060 -066 
  81. @^delay\ 1+013
  82. @^-066 
  83. @^//\ You\ can\ also\ look\ at\ variables\ using\ the\ '?'\ command.+013 
  84. @^s+008 ?cursize+013 
  85. @^sleep\ 1000+013 
  86. @^//\ Notice\ that\ the\ names\ are\ unmangled.+013 
  87. @^sleep\ 1000+013 
  88. @^-066 
  89. @^//\ At\ any\ time\ during\ debugging\ you\ 
  90. @^can\ look\ at\ the\ call\ stack.\ \ The\ topmost+013 
  91. @^//\ is\ the\ active\ routine\ numbered\ 0.
  92. @^+013 
  93. @^sleep\ 1200+013 
  94. @^delay\ 15+013
  95. @^-032 -080 +013 -038 -072 -072 -072 -072 -072 -077 -077 -077 +013 +027 -122 
  96. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  97. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  98. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  99. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  100. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  101. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -071 -079 +027 //\ The\ call
  102. @^\ stack\ window\ shows\ the\ line\ number\ where\ the\ function\ was+013 
  103. @^//\ called\ from\ and\ the\ values\ passed\ in\ as\ arguments.\ \ 
  104. @^Of\ course\ the+013 
  105. @^//\ names\ are\ unmangled.+013 
  106. @^delay\ 1+013
  107. @^sleep\ 1000+013 
  108. @^//\ Let's \ close\ the\ call\ stack\ window\ and\ go\ back\ to\ 
  109. @^main.+013 
  110. @^sleep\ 500+013 
  111. @^-122 -060 -066 
  112. @^//\ We\ can\ now\ disable\ the\ breakpoint\ we\ set\ earlier\  \
  113. @^at\ the\ insert\ +013 
  114. @^//\ function\ +008 .+013 
  115. @^sleep\ 800+013 
  116. @^b\ 0\ off+013 
  117. @^b+013 
  118. @^//\ Now\ the\ breakpoint\ is\ DISABLED.+013 
  119. @^sleep\ 500+013 
  120. @^-066 
  121. @^-066 
  122. @^-066 
  123. @^-066 
  124. @^-066 
  125. @^//\ Now\ Let's\ set\ a\ break\ point\ on\ line\ 176,\ and\ then\ 
  126. @^step\ +013 
  127. @^//\ inside\ function\ display_array_in_order()\ to\ examine\ a\ few\ 
  128. @^few+008 +008 +008 variables.+013 
  129. @^sleep\ 1000+013 
  130. @^b\ #176+013 
  131. @^sleep\ 100+013 
  132. @^go+013 
  133. @^-066 
  134. @^//\ Now\ let's\ clear\ all\ the\ breakpoints\ before\ we\ step\ into\ th
  135. @^e+013 
  136. @^//\ display_array_in_order\ function.+013 
  137. @^sleep\ 300+013 
  138. @^b+013 
  139. @^sleep\ 50+013 
  140. @^b\ 1\ off+013 
  141. @^sleep\ 50+013 
  142. @^-065 
  143. @^//\ We\ can\ examine\ the\ variable\ var.+013 
  144. @^sleep\ 500+013 
  145. @^exa\ var+013 +027 
  146. @^//\ Once\ we\ execute\ line\ 205,\ notice\ that\ the\ value\ of\ var\ will
  147. @^\ change.+013 
  148. @^sleep\ 1000+013 
  149. @^-066 
  150. @^//\ Now\ we\ will\ step\ into\ function\ next\_item\ and\ examine\ the\  
  151. @^'this'\ pointer\ and+013 
  152. @^//\ a\ few\ variables\ declared\ in\ the\ class\ where\ 'next\_item'\ is\ 
  153. @^declare
  154. @^d.+013 
  155. @^sleep\ 1200+013 
  156. @^-065 
  157. @^//\ The\ window\ displaying\ var\ is\ marked\ INACTIVE\ becau
  158. @^se\ the\ scope+013 
  159. @^//\ has\ changed.+013 
  160. @^sleep\ 800+013 
  161. @^//\ We\ can\ examine\ variables\ b2x\ and\ b2y.\ \ Also\ we\ can\ exa
  162. @^mine\ the\ 'this'+013 
  163. @^//\ pointer,\ but\ first\ we\ want\ to\ close\ window\ 3\  
  164. @^marked\ INACTIVE.+013 
  165. @^sleep\ 800+013 
  166. @^-122 -060 exa\ b2x+013 +027
  167. @^-066 
  168. @^exa\ b2x+013 +027 
  169. @^exa\ this+013 -062 -080 -062 -060 +027 
  170. @^//\ The\ examine\ window\ shows\ the\ type\ of\ the\ variable,\ then\ the\ 
  171. @^name\ of\ +013 
  172. @^//\ the\ variable\ (the\ names\ are\ unmangled),\ and\ then\ the\ va
  173. @^lue\ is+013 
  174. @^//\ displayed\ in\ decimal.\ \ For\ pointers\ the\ val
  175. @^ue\ is\ in\ hex.+013 
  176. @^sleep\ 1800+013 
  177. @^//\ Let's\ close\ the\ windows\ and\ go\ back\ to\ main\ and\ do\ somethin
  178. @^g\ more+013 
  179. @^//\ interesting.+013 
  180. @^sleep\ 1000+013 
  181. @^-124 -060 -122 -060 -122 -060 -066 
  182. @^-066 
  183. @^-066 
  184. @^-066 
  185. @^-066 
  186. @^-066 
  187. @^-066 
  188. @^-066 
  189. @^-066 
  190. @^-066 
  191. @^-066 
  192. @^-066 
  193. @^//\ We\ will\ now\ step\ into\ function\ search.+013 
  194. @^sleep\ 500+013 
  195. @^-065 
  196. @^//\ At\ this\ point\ we\ can\ look\ at\ the\ pointer\ arr.+013 
  197. @^sleep\ 500+013 
  198. @^exa\ arr+013 -062 +027 
  199. @^sleep\ 1500+013 
  200. @^//\ Let's\ close\ the\ windows.+013 
  201. @^sleep\ 500+013 
  202. @^-122 -060 //\ We\ are\ sitting\ at\ a\ function\ call,\ so\ let's\ 
  203. @^step\ in\ there\ and+013 
  204. @^//\ look\ at\ a\ few\ more\ things.+013 
  205. @^sleep\ 1000+013 
  206. @^-065 
  207. @^-066 
  208. @^-066 
  209. @^-066 
  210. @^-066 
  211. @^-066 
  212. @^//\ Let's\ examine\ variables\ cursize\ and\ i
  213. @^tem.+013 
  214. @^sleep\ 800+013 
  215. @^exa\ cursize+013 +027 
  216. @^exa\ item+013 +027 
  217. @^sleep\ 100+013 
  218. @^//\  
  219. @^You\ can\ see\ that\ cursize\ is\ declared\ in\ define_array.\ \ And\ the
  220. @^\ class+013 
  221. @^//\ array_op\ is\ derived\ from\ define_array.\ \ The\ 
  222. @^variable\ item\ is\ local.+013 
  223. @^sleep\ 1200+013 
  224. @^//\ Now\ we\ can\ close\ these\ windows\ and\ go\ back\ to\ main.+013 
  225. @^sleep\ 800+013 
  226. @^-122 -060 -122 -060 -120 -080 -080 -080 -080 -063 go+013 
  227. @^-066 
  228. @^-066 
  229. @^-066 
  230. @^-066 
  231. @^//\ Let's\ step\ inside\ function\ swap,\ called\ at\ line\ 185.\ Once\ we\ 
  232. @^get\ inside+013
  233. @^//\ swap,\ we\ will\ show\ how\ to\ look\ at\ memory\ locations.+013 
  234. @^sleep\ 1000+013 
  235. @^b\ #185+013 
  236. @^go+013 
  237. @^-065 
  238. @^-066 
  239. @^-065 
  240. @^-066 
  241. @^-066 
  242. @^-065 
  243. @^go+013 
  244. @^-065 
  245. @^-065 
  246. @^-065 
  247. @^-065 
  248. @^-065 
  249. @^//\ Let's\ look\ at\ the\ memory\ location\ pointed\ to\ by\ x.+013 
  250. @^sleep\ 800+013 
  251. @^delay\ 20+013
  252. @^mem\ x+013 -038 -072 -072 -072 -072 -077 +013 +027 
  253. @^delay\ 1+013
  254. @^//\ As\ you\ can\ see,\ the\ memory\ window\ is\ displaying\ data\ in\ byt
  255. @^es.+013 
  256. @^//\ We\ can\ change\ the\ format\ of\ the\ window\ to\ dword,\ qwor
  257. @^d,\ or\ word\ size.+013 
  258. @^sleep\ 1000+013 
  259. @^delay\ 10+013
  260. @^-122 -062 -080 -080 -080 -080 -080 -080 +013 -061 -080 -080 +013 -038 -077 
  261. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  262. @^+013 +027 //\ What\ we\ just\ did\ is:\ \ we\ changed\ 
  263. @^the\ size\ of\ the\ window\ to\ display\ Dwords,+013 
  264. @^//\ and\ we\ changed\ the\ format\ to\ Decimal.\ Now\ we\ will\ step\ through\ this\ f
  265. @^unction\ to+013 
  266. @^//\ see\ how\ the\ contents\ of\ the\ window\ get\ upda
  267. @^ted.+013 
  268. @^delay\ 1+013
  269. @^sleep\ 1500+013 
  270. @^-066 
  271. @^-066 
  272. @^-066 
  273. @^-066 
  274. @^-066 
  275. @^-066 
  276. @^-066 
  277. @^-066 
  278. @^-066 
  279. @^-066 
  280. @^-066 
  281. @^-066 
  282. @^-066 
  283. @^-066 
  284. @^-066 
  285. @^-066 
  286. @^-066 
  287. @^-066 
  288. @^-066 
  289. @^-066 
  290. @^-066 
  291. @^-066 
  292. @^-066 
  293. @^-066 
  294. @^//\ Now\ we\ can\ close\ the\ window\ and\ 
  295. @^disable\ breakpoints.+013 
  296. @^sleep\ 800+013 
  297. @^-122 -060 
  298. @^b\ 2\ off+013 
  299. @^b\ 3\ off+013 
  300. @^-066 
  301. @^-066 
  302. @^-065 
  303. @^-066 
  304. @^-065 
  305. @^//\ Let's\ again\ examine\ the\ 'this'\ pointer.+013 
  306. @^sleep\ 800+013 
  307. @^exa\ this+013 -062 +027 
  308. @^//\ You\ can\ also\ cast\ pointers\ to\ other\ types.\ \ For\ example,\ l
  309. @^et's\ cast\ +013 
  310. @^//\ 'this'\ pointer\ to\ create_array.+013 
  311. @^sleep\ 800+013 
  312. @^exa\ *(create_array*)this+013 +027 
  313. @^//\ Notice\ that\ the\ window\ also\ shows\ the\ cast\ *(create_array*)this
  314. @^.+013 
  315. @^//\ Now\ let's\ cast\ the\ 'this'\ pointer\ to\ manipulate_array.+013 
  316. @^sleep\ 1000+013 
  317. @^delay\ 15+013
  318. @^exa\ *(manipulate_array*)this+013 -038 -072 -072 -072 -072 -072 +013 +027 
  319. @^//\ As\ you\ just\ saw,\ the\ cast\ is\ a\ very\ powerful\ feature.+013 
  320. @^sleep\ 1500+013 
  321. @^delay\ 1+013
  322. @^//\ Let's\ close\ these\ windows\ and\ look\ at\ the\  
  323. @^CallStack\ window.+013 
  324. @^delay\ 30+013
  325. @^sleep\ 1000+013 
  326. @^-125 -060 -123 -060 -122 -060 -122 -060 -032 +013 -075 -075 -075 -075 -075 
  327. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  328. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  329. @^-075 -075 -075 -075 -080 -080 -080 -072 -072 -072 -072 -077 -077 -077 -077 
  330. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  331. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  332. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 
  333. @^-077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -077 -075 -075 -075 -075 
  334. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  335. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  336. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  337. @^-075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 -075 
  338. @^-075 -075 -075 -075 -075 -060 -066 
  339. @^delay\ 1+013
  340. @^-066 
  341. @^-066 
  342. @^-066 
  343. @^-066 
  344. @^-066 
  345. @^-066 
  346. @^-066 
  347. @^-066 
  348. @^-066 
  349. @^-066 
  350. @^-066 
  351. @^//\ Let's\ look\ at\ sett
  352. @^ing\ breakpoints\ again.\ \  
  353. @^The\ debugger\ will\ let\ you+013 
  354. @^//\ choose\ from\ different\ matching\ functions\ in\ 
  355. @^the\ window.+013 
  356. @^sleep\ 800+013 
  357. @^delay\ 50+013
  358. @^b\ s+013 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  359. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  360. @^+013 
  361. @^delay\ 1+013
  362. @^//\ We\ selected\ the\ search\ function;\ as\ you\ can\ see,\ the\ line\ nu
  363. @^mber\ 196+013 
  364. @^//\ is\ highlighted.+013 
  365. @^sleep\ 800+013 
  366. @^go+013 
  367. @^-066 
  368. @^-066 
  369. @^rel+013 
  370. @^b\ #176+013 
  371. @^go+013 
  372. @^-066 
  373. @^-066 
  374. @^-066 
  375. @^-065 
  376. @^//\ Let's\ examine\ arr\ again.+013 
  377. @^sleep\ 500+013 
  378. @^delay\ 20+013
  379. @^exa\ arr+013 -062 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  380. @^-080 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 +027 
  381. @^//\ If\ you\ think\ this\ is\ just\ a\ toy\ class,\ let\ me\ show\ you\ 
  382. @^the\ iostream\ class.+013 
  383. @^delay\ 1+013
  384. @^sleep\ 1000+013 
  385. @^//\ But\ first\ let's\ close\ these\ windows+013 
  386. @^sleep\ 300+013 
  387. @^-122 -060 -065 
  388. @^exa\ *(iostream*)this+013 +027 
  389. @^//\ How\ about\ that...+013 
  390. @^sleep\ 1000+013 
  391. @^//\ Now\ let's\ follow\ the\ __vbp_ios\ pointer.+013 
  392. @^delay\ 40+013
  393. @^sleep\ 1000+013 
  394. @^-122 -080 -080 -062 -038 -141 -141 -141 -141 -141 +013 -080 -080 -080 -080 
  395. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  396. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  397. @^-072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 
  398. @^-072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 
  399. @^-072 -072 -072 -072 -060 -080 -080 -080 -072 -080 -080 -080 -072 -072 -072 
  400. @^-072 -072 -062 -038 -141 -141 -141 -141 -141 +013 +027 
  401. @^delay\ 1+013
  402. @^delay\ 1+013
  403. @^//\ So\ what\ do\ you\ think?+013 
  404. @^sleep\ 1000+013 
  405. @^//\ Let's\ close\ these\ windows\ now.+013 
  406. @^sleep\ 500+013 
  407. @^-122 -060 //\ Let\ me\ show\ you\ another\ way\ of\ looking\ at\ classes.
  408. @^\ \ This\ time\ we+013 
  409. @^//\ will\ use\ the\ Symbol\ window\ from\ the\ top\ menu.+013 
  410. @^sleep\ 1000+013 
  411. @^delay\ 35+013
  412. @^-031 -080 -080 -080 -080 +013 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  413. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  414. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 +013 -080 -080 -080 
  415. @^-080 -080 -080 -080 -080 -080 -080 -072 -072 -072 -072 -072 -072 -072 -072 
  416. @^-072 -072 -072 -080 -080 -080 -072 -072 -072 +027 -072 -072 -072 +013 -080 
  417. @^-080 -080 -080 -080 -080 -080 -080 -080 -072 -072 -072 -072 -072 -072 -072 
  418. @^-072 -072 +027 -072 +013 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  419. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  420. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  421. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  422. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  423. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  424. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  425. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  426. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 
  427. @^-080 -080 +027 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 
  428. @^-072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 
  429. @^-072 -072 -072 -072 -072 -072 +013 -080 -080 -080 -080 -080 -080 -080 -080 
  430. @^-080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -080 -072 -072 -072 
  431. @^-072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 -072 
  432. @^-072 +027 +027 +027 //\ That's\ all\ folks...+013 
  433. @^delay\ 1+013
  434. @^//\ We\ hope\ you\ enjoyed\ the\ demo...\ have\ a\ nice\ day!+013 
  435. @^sleep\ 2000+013 
  436. @^exit
  437.