操作系统引导程序(nasm)

《自己》上的代码:

  1. org 07c00h
  2. mov ax , cs
  3. mov ds , ax
  4. mov es , ax
  5. call DispStr
  6. jmp $
  7. DispStr:
  8. mov ax , BootMessage
  9. mov bp , ax
  10. mov cx , 8
  11. mov ax , 01301h
  12. mov bx , 000eh
  13. mov dl , 0
  14. int 10h
  15. ret
  16. BootMessage: db "hiPhone!"
  17. times 510-($-$$) db 0
  18. dw 0xaa55

 

nasm boot.asm -o boot.bin

反汇编:

ndisasm boot.bin

后的代码如下:

  1. 00000000  8CC8              mov ax,cs
  2. 00000002  8ED8              mov ds,ax
  3. 00000004  8EC0              mov es,ax
  4. 00000006  E80200            call word 0xb
  5. 00000009  EBFE              jmp short 0x9
  6. 0000000B  B81E7C            mov ax,0x7c1e
  7. 0000000E  89C5              mov bp,ax
  8. 00000010  B90800            mov cx,0x8
  9. 00000013  B80113            mov ax,0x1301
  10. 00000016  BB0E00            mov bx,0xe
  11. 00000019  B200              mov dl,0x0
  12. 0000001B  CD10              int 0x10
  13. 0000001D  C3                ret
  14. 0000001E  686950            push word 0x5069
  15. 00000021  686F6E            push word 0x6e6f
  16. 00000024  652100            and [gs:bx+si],ax
  17. 00000027  0000              add [bx+si],al
  18. 00000029  0000              add [bx+si],al
  19. 0000002B  0000              add [bx+si],al
  20. 0000002D  0000              add [bx+si],al
  21. 0000002F  0000              add [bx+si],al
  22. 00000031  0000              add [bx+si],al
  23. 00000033  0000              add [bx+si],al
  24. 00000035  0000              add [bx+si],al
  25. 00000037  0000              add [bx+si],al
  26. 00000039  0000              add [bx+si],al
  27. 0000003B  0000              add [bx+si],al
  28. 0000003D  0000              add [bx+si],al
  29. 0000003F  0000              add [bx+si],al
  30. 00000041  0000              add [bx+si],al
  31. 00000043  0000              add [bx+si],al
  32. 00000045  0000              add [bx+si],al
  33. 00000047  0000              add [bx+si],al
  34. 00000049  0000              add [bx+si],al
  35. 0000004B  0000              add [bx+si],al
  36. 0000004D  0000              add [bx+si],al
  37. 0000004F  0000              add [bx+si],al
  38. 00000051  0000              add [bx+si],al
  39. 00000053  0000              add [bx+si],al
  40. 00000055  0000              add [bx+si],al
  41. 00000057  0000              add [bx+si],al
  42. 00000059  0000              add [bx+si],al
  43. 0000005B  0000              add [bx+si],al
  44. 0000005D  0000              add [bx+si],al
  45. 0000005F  0000              add [bx+si],al
  46. 00000061  0000              add [bx+si],al
  47. 00000063  0000              add [bx+si],al
  48. 00000065  0000              add [bx+si],al
  49. 00000067  0000              add [bx+si],al
  50. 00000069  0000              add [bx+si],al
  51. 0000006B  0000              add [bx+si],al
  52. 0000006D  0000              add [bx+si],al
  53. 0000006F  0000              add [bx+si],al
  54. 00000071  0000              add [bx+si],al
  55. 00000073  0000              add [bx+si],al
  56. 00000075  0000              add [bx+si],al
  57. 00000077  0000              add [bx+si],al
  58. 00000079  0000              add [bx+si],al
  59. 0000007B  0000              add [bx+si],al
  60. 0000007D  0000              add [bx+si],al
  61. 0000007F  0000              add [bx+si],al
  62. 00000081  0000              add [bx+si],al
  63. 00000083  0000              add [bx+si],al
  64. 00000085  0000              add [bx+si],al
  65. 00000087  0000              add [bx+si],al
  66. 00000089  0000              add [bx+si],al
  67. 0000008B  0000              add [bx+si],al
  68. 0000008D  0000              add [bx+si],al
  69. 0000008F  0000              add [bx+si],al
  70. 00000091  0000              add [bx+si],al
  71. 00000093  0000              add [bx+si],al
  72. 00000095  0000              add [bx+si],al
  73. 00000097  0000              add [bx+si],al
  74. 00000099  0000              add [bx+si],al
  75. 0000009B  0000              add [bx+si],al
  76. 0000009D  0000              add [bx+si],al
  77. 0000009F  0000              add [bx+si],al
  78. 000000A1  0000              add [bx+si],al
  79. 000000A3  0000              add [bx+si],al
  80. 000000A5  0000              add [bx+si],al
  81. 000000A7  0000              add [bx+si],al
  82. 000000A9  0000              add [bx+si],al
  83. 000000AB  0000              add [bx+si],al
  84. 000000AD  0000              add [bx+si],al
  85. 000000AF  0000              add [bx+si],al
  86. 000000B1  0000              add [bx+si],al
  87. 000000B3  0000              add [bx+si],al
  88. 000000B5  0000              add [bx+si],al
  89. 000000B7  0000              add [bx+si],al
  90. 000000B9  0000              add [bx+si],al
  91. 000000BB  0000              add [bx+si],al
  92. 000000BD  0000              add [bx+si],al
  93. 000000BF  0000              add [bx+si],al
  94. 000000C1  0000              add [bx+si],al
  95. 000000C3  0000              add [bx+si],al
  96. 000000C5  0000              add [bx+si],al
  97. 000000C7  0000              add [bx+si],al
  98. 000000C9  0000              add [bx+si],al
  99. 000000CB  0000              add [bx+si],al
  100. 000000CD  0000              add [bx+si],al
  101. 000000CF  0000              add [bx+si],al
  102. 000000D1  0000              add [bx+si],al
  103. 000000D3  0000              add [bx+si],al
  104. 000000D5  0000              add [bx+si],al
  105. 000000D7  0000              add [bx+si],al
  106. 000000D9  0000              add [bx+si],al
  107. 000000DB  0000              add [bx+si],al
  108. 000000DD  0000              add [bx+si],al
  109. 000000DF  0000              add [bx+si],al
  110. 000000E1  0000              add [bx+si],al
  111. 000000E3  0000              add [bx+si],al
  112. 000000E5  0000              add [bx+si],al
  113. 000000E7  0000              add [bx+si],al
  114. 000000E9  0000              add [bx+si],al
  115. 000000EB  0000              add [bx+si],al
  116. 000000ED  0000              add [bx+si],al
  117. 000000EF  0000              add [bx+si],al
  118. 000000F1  0000              add [bx+si],al
  119. 000000F3  0000              add [bx+si],al
  120. 000000F5  0000              add [bx+si],al
  121. 000000F7  0000              add [bx+si],al
  122. 000000F9  0000              add [bx+si],al
  123. 000000FB  0000              add [bx+si],al
  124. 000000FD  0000              add [bx+si],al
  125. 000000FF  0000              add [bx+si],al
  126. 00000101  0000              add [bx+si],al
  127. 00000103  0000              add [bx+si],al
  128. 00000105  0000              add [bx+si],al
  129. 00000107  0000              add [bx+si],al
  130. 00000109  0000              add [bx+si],al
  131. 0000010B  0000              add [bx+si],al
  132. 0000010D  0000              add [bx+si],al
  133. 0000010F  0000              add [bx+si],al
  134. 00000111  0000              add [bx+si],al
  135. 00000113  0000              add [bx+si],al
  136. 00000115  0000              add [bx+si],al
  137. 00000117  0000              add [bx+si],al
  138. 00000119  0000              add [bx+si],al
  139. 0000011B  0000              add [bx+si],al
  140. 0000011D  0000              add [bx+si],al
  141. 0000011F  0000              add [bx+si],al
  142. 00000121  0000              add [bx+si],al
  143. 00000123  0000              add [bx+si],al
  144. 00000125  0000              add [bx+si],al
  145. 00000127  0000              add [bx+si],al
  146. 00000129  0000              add [bx+si],al
  147. 0000012B  0000              add [bx+si],al
  148. 0000012D  0000              add [bx+si],al
  149. 0000012F  0000              add [bx+si],al
  150. 00000131  0000              add [bx+si],al
  151. 00000133  0000              add [bx+si],al
  152. 00000135  0000              add [bx+si],al
  153. 00000137  0000              add [bx+si],al
  154. 00000139  0000              add [bx+si],al
  155. 0000013B  0000              add [bx+si],al
  156. 0000013D  0000              add [bx+si],al
  157. 0000013F  0000              add [bx+si],al
  158. 00000141  0000              add [bx+si],al
  159. 00000143  0000              add [bx+si],al
  160. 00000145  0000              add [bx+si],al
  161. 00000147  0000              add [bx+si],al
  162. 00000149  0000              add [bx+si],al
  163. 0000014B  0000              add [bx+si],al
  164. 0000014D  0000              add [bx+si],al
  165. 0000014F  0000              add [bx+si],al
  166. 00000151  0000              add [bx+si],al
  167. 00000153  0000              add [bx+si],al
  168. 00000155  0000              add [bx+si],al
  169. 00000157  0000              add [bx+si],al
  170. 00000159  0000              add [bx+si],al
  171. 0000015B  0000              add [bx+si],al
  172. 0000015D  0000              add [bx+si],al
  173. 0000015F  0000              add [bx+si],al
  174. 00000161  0000              add [bx+si],al
  175. 00000163  0000              add [bx+si],al
  176. 00000165  0000              add [bx+si],al
  177. 00000167  0000              add [bx+si],al
  178. 00000169  0000              add [bx+si],al
  179. 0000016B  0000              add [bx+si],al
  180. 0000016D  0000              add [bx+si],al
  181. 0000016F  0000              add [bx+si],al
  182. 00000171  0000              add [bx+si],al
  183. 00000173  0000              add [bx+si],al
  184. 00000175  0000              add [bx+si],al
  185. 00000177  0000              add [bx+si],al
  186. 00000179  0000              add [bx+si],al
  187. 0000017B  0000              add [bx+si],al
  188. 0000017D  0000              add [bx+si],al
  189. 0000017F  0000              add [bx+si],al
  190. 00000181  0000              add [bx+si],al
  191. 00000183  0000              add [bx+si],al
  192. 00000185  0000              add [bx+si],al
  193. 00000187  0000              add [bx+si],al
  194. 00000189  0000              add [bx+si],al
  195. 0000018B  0000              add [bx+si],al
  196. 0000018D  0000              add [bx+si],al
  197. 0000018F  0000              add [bx+si],al
  198. 00000191  0000              add [bx+si],al
  199. 00000193  0000              add [bx+si],al
  200. 00000195  0000              add [bx+si],al
  201. 00000197  0000              add [bx+si],al
  202. 00000199  0000              add [bx+si],al
  203. 0000019B  0000              add [bx+si],al
  204. 0000019D  0000              add [bx+si],al
  205. 0000019F  0000              add [bx+si],al
  206. 000001A1  0000              add [bx+si],al
  207. 000001A3  0000              add [bx+si],al
  208. 000001A5  0000              add [bx+si],al
  209. 000001A7  0000              add [bx+si],al
  210. 000001A9  0000              add [bx+si],al
  211. 000001AB  0000              add [bx+si],al
  212. 000001AD  0000              add [bx+si],al
  213. 000001AF  0000              add [bx+si],al
  214. 000001B1  0000              add [bx+si],al
  215. 000001B3  0000              add [bx+si],al
  216. 000001B5  0000              add [bx+si],al
  217. 000001B7  0000              add [bx+si],al
  218. 000001B9  0000              add [bx+si],al
  219. 000001BB  0000              add [bx+si],al
  220. 000001BD  0000              add [bx+si],al
  221. 000001BF  0000              add [bx+si],al
  222. 000001C1  0000              add [bx+si],al
  223. 000001C3  0000              add [bx+si],al
  224. 000001C5  0000              add [bx+si],al
  225. 000001C7  0000              add [bx+si],al
  226. 000001C9  0000              add [bx+si],al
  227. 000001CB  0000              add [bx+si],al
  228. 000001CD  0000              add [bx+si],al
  229. 000001CF  0000              add [bx+si],al
  230. 000001D1  0000              add [bx+si],al
  231. 000001D3  0000              add [bx+si],al
  232. 000001D5  0000              add [bx+si],al
  233. 000001D7  0000              add [bx+si],al
  234. 000001D9  0000              add [bx+si],al
  235. 000001DB  0000              add [bx+si],al
  236. 000001DD  0000              add [bx+si],al
  237. 000001DF  0000              add [bx+si],al
  238. 000001E1  0000              add [bx+si],al
  239. 000001E3  0000              add [bx+si],al
  240. 000001E5  0000              add [bx+si],al
  241. 000001E7  0000              add [bx+si],al
  242. 000001E9  0000              add [bx+si],al
  243. 000001EB  0000              add [bx+si],al
  244. 000001ED  0000              add [bx+si],al
  245. 000001EF  0000              add [bx+si],al
  246. 000001F1  0000              add [bx+si],al
  247. 000001F3  0000              add [bx+si],al
  248. 000001F5  0000              add [bx+si],al
  249. 000001F7  0000              add [bx+si],al
  250. 000001F9  0000              add [bx+si],al
  251. 000001FB  0000              add [bx+si],al
  252. 000001FD  0055AA            add [di-0x56],dl

注意:数据部分

0000001E  686950            push word 0x5069
00000021  686F6E            push word 0x6e6f
00000024  652100            and [gs:bx+si],ax

......

000001FD  0055AA            add [di-0x56],dl

 

0000001E  686950           

00000021  686F6E       
00000024  652100 //到21结束, 00位结束串的标志。           

......

000001FD  0055AA

对应

BootMessage: db "hiPhone!"
dw 0xaa55

 

2.

自己写的引导代码。

  1. mov ax , 07c0h
  2. mov ds , ax
  3. mov es , ax
  4. call DispStr
  5. jmp $
  6. DispStr:
  7. mov ax , BootMessage
  8. mov bp , ax
  9. mov cx , 8
  10. mov ax , 01301h
  11. mov bx , 000eh
  12. mov dl , 0
  13. int 10h
  14. ret
  15. BootMessage: db "hiPhone!"
  16. times 510-($-$$) db 0
  17. dw 0xaa55

 

反汇编后的代码:

  1. 00000000  B8C007            mov ax,0x7c0
  2. 00000003  8ED8              mov ds,ax
  3. 00000005  8EC0              mov es,ax
  4. 00000007  E80200            call word 0xc
  5. 0000000A  EBFE              jmp short 0xa
  6. 0000000C  B81F00            mov ax,0x1f
  7. 0000000F  89C5              mov bp,ax
  8. 00000011  B90800            mov cx,0x8
  9. 00000014  B80113            mov ax,0x1301
  10. 00000017  BB0E00            mov bx,0xe
  11. 0000001A  B200              mov dl,0x0
  12. 0000001C  CD10              int 0x10
  13. 0000001E  C3                ret
  14. 0000001F  686950            push word 0x5069
  15. 00000022  686F6E            push word 0x6e6f
  16. 00000025  652100            and [gs:bx+si],ax
  17. 00000028  0000              add [bx+si],al
  18. 0000002A  0000              add [bx+si],al
  19. 0000002C  0000              add [bx+si],al
  20. 0000002E  0000              add [bx+si],al
  21. 00000030  0000              add [bx+si],al
  22. 00000032  0000              add [bx+si],al
  23. 00000034  0000              add [bx+si],al
  24. 00000036  0000              add [bx+si],al
  25. 00000038  0000              add [bx+si],al
  26. 0000003A  0000              add [bx+si],al
  27. 0000003C  0000              add [bx+si],al
  28. 0000003E  0000              add [bx+si],al
  29. 00000040  0000              add [bx+si],al
  30. 00000042  0000              add [bx+si],al
  31. 00000044  0000              add [bx+si],al
  32. 00000046  0000              add [bx+si],al
  33. 00000048  0000              add [bx+si],al
  34. 0000004A  0000              add [bx+si],al
  35. 0000004C  0000              add [bx+si],al
  36. 0000004E  0000              add [bx+si],al
  37. 00000050  0000              add [bx+si],al
  38. 00000052  0000              add [bx+si],al
  39. 00000054  0000              add [bx+si],al
  40. 00000056  0000              add [bx+si],al
  41. 00000058  0000              add [bx+si],al
  42. 0000005A  0000              add [bx+si],al
  43. 0000005C  0000              add [bx+si],al
  44. 0000005E  0000              add [bx+si],al
  45. 00000060  0000              add [bx+si],al
  46. 00000062  0000              add [bx+si],al
  47. 00000064  0000              add [bx+si],al
  48. 00000066  0000              add [bx+si],al
  49. 00000068  0000              add [bx+si],al
  50. 0000006A  0000              add [bx+si],al
  51. 0000006C  0000              add [bx+si],al
  52. 0000006E  0000              add [bx+si],al
  53. 00000070  0000              add [bx+si],al
  54. 00000072  0000              add [bx+si],al
  55. 00000074  0000              add [bx+si],al
  56. 00000076  0000              add [bx+si],al
  57. 00000078  0000              add [bx+si],al
  58. 0000007A  0000              add [bx+si],al
  59. 0000007C  0000              add [bx+si],al
  60. 0000007E  0000              add [bx+si],al
  61. 00000080  0000              add [bx+si],al
  62. 00000082  0000              add [bx+si],al
  63. 00000084  0000              add [bx+si],al
  64. 00000086  0000              add [bx+si],al
  65. 00000088  0000              add [bx+si],al
  66. 0000008A  0000              add [bx+si],al
  67. 0000008C  0000              add [bx+si],al
  68. 0000008E  0000              add [bx+si],al
  69. 00000090  0000              add [bx+si],al
  70. 00000092  0000              add [bx+si],al
  71. 00000094  0000              add [bx+si],al
  72. 00000096  0000              add [bx+si],al
  73. 00000098  0000              add [bx+si],al
  74. 0000009A  0000              add [bx+si],al
  75. 0000009C  0000              add [bx+si],al
  76. 0000009E  0000              add [bx+si],al
  77. 000000A0  0000              add [bx+si],al
  78. 000000A2  0000              add [bx+si],al
  79. 000000A4  0000              add [bx+si],al
  80. 000000A6  0000              add [bx+si],al
  81. 000000A8  0000              add [bx+si],al
  82. 000000AA  0000              add [bx+si],al
  83. 000000AC  0000              add [bx+si],al
  84. 000000AE  0000              add [bx+si],al
  85. 000000B0  0000              add [bx+si],al
  86. 000000B2  0000              add [bx+si],al
  87. 000000B4  0000              add [bx+si],al
  88. 000000B6  0000              add [bx+si],al
  89. 000000B8  0000              add [bx+si],al
  90. 000000BA  0000              add [bx+si],al
  91. 000000BC  0000              add [bx+si],al
  92. 000000BE  0000              add [bx+si],al
  93. 000000C0  0000              add [bx+si],al
  94. 000000C2  0000              add [bx+si],al
  95. 000000C4  0000              add [bx+si],al
  96. 000000C6  0000              add [bx+si],al
  97. 000000C8  0000              add [bx+si],al
  98. 000000CA  0000              add [bx+si],al
  99. 000000CC  0000              add [bx+si],al
  100. 000000CE  0000              add [bx+si],al
  101. 000000D0  0000              add [bx+si],al
  102. 000000D2  0000              add [bx+si],al
  103. 000000D4  0000              add [bx+si],al
  104. 000000D6  0000              add [bx+si],al
  105. 000000D8  0000              add [bx+si],al
  106. 000000DA  0000              add [bx+si],al
  107. 000000DC  0000              add [bx+si],al
  108. 000000DE  0000              add [bx+si],al
  109. 000000E0  0000              add [bx+si],al
  110. 000000E2  0000              add [bx+si],al
  111. 000000E4  0000              add [bx+si],al
  112. 000000E6  0000              add [bx+si],al
  113. 000000E8  0000              add [bx+si],al
  114. 000000EA  0000              add [bx+si],al
  115. 000000EC  0000              add [bx+si],al
  116. 000000EE  0000              add [bx+si],al
  117. 000000F0  0000              add [bx+si],al
  118. 000000F2  0000              add [bx+si],al
  119. 000000F4  0000              add [bx+si],al
  120. 000000F6  0000              add [bx+si],al
  121. 000000F8  0000              add [bx+si],al
  122. 000000FA  0000              add [bx+si],al
  123. 000000FC  0000              add [bx+si],al
  124. 000000FE  0000              add [bx+si],al
  125. 00000100  0000              add [bx+si],al
  126. 00000102  0000              add [bx+si],al
  127. 00000104  0000              add [bx+si],al
  128. 00000106  0000              add [bx+si],al
  129. 00000108  0000              add [bx+si],al
  130. 0000010A  0000              add [bx+si],al
  131. 0000010C  0000              add [bx+si],al
  132. 0000010E  0000              add [bx+si],al
  133. 00000110  0000              add [bx+si],al
  134. 00000112  0000              add [bx+si],al
  135. 00000114  0000              add [bx+si],al
  136. 00000116  0000              add [bx+si],al
  137. 00000118  0000              add [bx+si],al
  138. 0000011A  0000              add [bx+si],al
  139. 0000011C  0000              add [bx+si],al
  140. 0000011E  0000              add [bx+si],al
  141. 00000120  0000              add [bx+si],al
  142. 00000122  0000              add [bx+si],al
  143. 00000124  0000              add [bx+si],al
  144. 00000126  0000              add [bx+si],al
  145. 00000128  0000              add [bx+si],al
  146. 0000012A  0000              add [bx+si],al
  147. 0000012C  0000              add [bx+si],al
  148. 0000012E  0000              add [bx+si],al
  149. 00000130  0000              add [bx+si],al
  150. 00000132  0000              add [bx+si],al
  151. 00000134  0000              add [bx+si],al
  152. 00000136  0000              add [bx+si],al
  153. 00000138  0000              add [bx+si],al
  154. 0000013A  0000              add [bx+si],al
  155. 0000013C  0000              add [bx+si],al
  156. 0000013E  0000              add [bx+si],al
  157. 00000140  0000              add [bx+si],al
  158. 00000142  0000              add [bx+si],al
  159. 00000144  0000              add [bx+si],al
  160. 00000146  0000              add [bx+si],al
  161. 00000148  0000              add [bx+si],al
  162. 0000014A  0000              add [bx+si],al
  163. 0000014C  0000              add [bx+si],al
  164. 0000014E  0000              add [bx+si],al
  165. 00000150  0000              add [bx+si],al
  166. 00000152  0000              add [bx+si],al
  167. 00000154  0000              add [bx+si],al
  168. 00000156  0000              add [bx+si],al
  169. 00000158  0000              add [bx+si],al
  170. 0000015A  0000              add [bx+si],al
  171. 0000015C  0000              add [bx+si],al
  172. 0000015E  0000              add [bx+si],al
  173. 00000160  0000              add [bx+si],al
  174. 00000162  0000              add [bx+si],al
  175. 00000164  0000              add [bx+si],al
  176. 00000166  0000              add [bx+si],al
  177. 00000168  0000              add [bx+si],al
  178. 0000016A  0000              add [bx+si],al
  179. 0000016C  0000              add [bx+si],al
  180. 0000016E  0000              add [bx+si],al
  181. 00000170  0000              add [bx+si],al
  182. 00000172  0000              add [bx+si],al
  183. 00000174  0000              add [bx+si],al
  184. 00000176  0000              add [bx+si],al
  185. 00000178  0000              add [bx+si],al
  186. 0000017A  0000              add [bx+si],al
  187. 0000017C  0000              add [bx+si],al
  188. 0000017E  0000              add [bx+si],al
  189. 00000180  0000              add [bx+si],al
  190. 00000182  0000              add [bx+si],al
  191. 00000184  0000              add [bx+si],al
  192. 00000186  0000              add [bx+si],al
  193. 00000188  0000              add [bx+si],al
  194. 0000018A  0000              add [bx+si],al
  195. 0000018C  0000              add [bx+si],al
  196. 0000018E  0000              add [bx+si],al
  197. 00000190  0000              add [bx+si],al
  198. 00000192  0000              add [bx+si],al
  199. 00000194  0000              add [bx+si],al
  200. 00000196  0000              add [bx+si],al
  201. 00000198  0000              add [bx+si],al
  202. 0000019A  0000              add [bx+si],al
  203. 0000019C  0000              add [bx+si],al
  204. 0000019E  0000              add [bx+si],al
  205. 000001A0  0000              add [bx+si],al
  206. 000001A2  0000              add [bx+si],al
  207. 000001A4  0000              add [bx+si],al
  208. 000001A6  0000              add [bx+si],al
  209. 000001A8  0000              add [bx+si],al
  210. 000001AA  0000              add [bx+si],al
  211. 000001AC  0000              add [bx+si],al
  212. 000001AE  0000              add [bx+si],al
  213. 000001B0  0000              add [bx+si],al
  214. 000001B2  0000              add [bx+si],al
  215. 000001B4  0000              add [bx+si],al
  216. 000001B6  0000              add [bx+si],al
  217. 000001B8  0000              add [bx+si],al
  218. 000001BA  0000              add [bx+si],al
  219. 000001BC  0000              add [bx+si],al
  220. 000001BE  0000              add [bx+si],al
  221. 000001C0  0000              add [bx+si],al
  222. 000001C2  0000              add [bx+si],al
  223. 000001C4  0000              add [bx+si],al
  224. 000001C6  0000              add [bx+si],al
  225. 000001C8  0000              add [bx+si],al
  226. 000001CA  0000              add [bx+si],al
  227. 000001CC  0000              add [bx+si],al
  228. 000001CE  0000              add [bx+si],al
  229. 000001D0  0000              add [bx+si],al
  230. 000001D2  0000              add [bx+si],al
  231. 000001D4  0000              add [bx+si],al
  232. 000001D6  0000              add [bx+si],al
  233. 000001D8  0000              add [bx+si],al
  234. 000001DA  0000              add [bx+si],al
  235. 000001DC  0000              add [bx+si],al
  236. 000001DE  0000              add [bx+si],al
  237. 000001E0  0000              add [bx+si],al
  238. 000001E2  0000              add [bx+si],al
  239. 000001E4  0000              add [bx+si],al
  240. 000001E6  0000              add [bx+si],al
  241. 000001E8  0000              add [bx+si],al
  242. 000001EA  0000              add [bx+si],al
  243. 000001EC  0000              add [bx+si],al
  244. 000001EE  0000              add [bx+si],al
  245. 000001F0  0000              add [bx+si],al
  246. 000001F2  0000              add [bx+si],al
  247. 000001F4  0000              add [bx+si],al
  248. 000001F6  0000              add [bx+si],al
  249. 000001F8  0000              add [bx+si],al
  250. 000001FA  0000              add [bx+si],al
  251. 000001FC  0000              add [bx+si],al
  252. 000001FE  55                push bp
  253. 000001FF  AA                stosb

两者的不同在于:

mov ax , BootMessage

的编译结果

前者编译为

0000000B  B81E7C            mov ax,0x7c1e

后者为

0000000C  B81F00            mov ax,0x1f

前在汇编时 +上了org指定的0x7c00,ds值为0。 而后者只有偏移, 运行时和ds中的0x7c0h共同使用。

结果是一样的, 都是引用字符串"hiPhone!"。

你可能感兴趣的:(操作系统引导程序(nasm))