首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

关于jmp的有关问题

2012-04-08 
关于jmp的问题org 0100hDATA:db Hello World!jmp STARTSTART:mov ax, csmov es, axmov ax, DATAadd ax,

关于jmp的问题
org 0100h
   
  DATA:
db "Hello World!"
  jmp START
  START:
mov ax, cs
mov es, ax
mov ax, DATA
add ax, 07c00h
mov bp, ax
mov cx, 12
mov bx, 000ch
mov dl, 0
mov al, 1
mov ah, 13h
int 10h
jmp $
times 510-($-$$) db 0
dw 0xAA55
想知道这段代码中jmp START的作用,为什么去掉jmp START就不能显示hello world!

[解决办法]
你这代码也有问题吧,jmp START 好像应该在 DATA: 之前。你这应该是引导扇区的内容,执行就是从最开始处进行的。你最开始处定义成了数据,会将数据当做代码来运行,结果难以预料。所以,需要在最开始处用一个 jmp 指令跳过后面定义的数据部分,转到真正的需要运行的代码处。
另外,既然用了 org 语句,为什么不直接 org 7c00h 呢。

热点排行