菜鸟关于汇编执行顺序问题求指教
以下是我在《30天自制操作系统》中看到的启动代码,基本上都看懂了,只是关于顺序上有些疑问,求指教:
JMP指令应该是跳转指令,跳转以后不会返回,那么 “JMP entry ”下面的DB怎么会执行呢?还是DB指令不同,本人汇编菜菜菜鸟,求指教,多谢,勿喷,呵呵
ORG 0x7c00
JMP entry
DB 0x90
DB "HELLOIPL"
DW 512
DB 1
DW 1
DB 2
DW 224
DW 2880
DB 0xf0
DW 9
DW 18
DW 2
DD 0
DD 2880
DB 0,0,0x29
DD 0xffffffff
DB "HELLO-OS "
DB "FAT12 "
RESB 18 ?
entry:
MOV AX,0
MOV SS,AX
MOV SP,0x7c00
MOV DS,AX
MOV ES,AX
MOV SI,msg
putloop:
MOV AL,[SI]
ADD SI,1
CMP AL,0
JE fin
MOV AH,0x0e
MOV BX,15
INT 0x10
JMP putloop
fin:
HLT
JMP fin
msg:
DB 0x0a, 0x0a
DB "hello, world"
DB 0x0a
DB 0
;RESB 0x7dfe-$
;times 0x7dfe-($-$$) db 0
times 510-($-$$) db 0
DB 0x55,0xaa