注册 登录
编程论坛 汇编论坛

[求助]请解释一下这段asm代码(从实模式->保护模式跳转开始的一段代码).

thatguy 发布于 2007-09-27 22:48, 1156 次点击

org 0100h
jmp LABEL_BEGIN

...
[SECTION .s16]
[BITS 16]
LABEL_BEGIN:
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov sp, 0100h

3 回复
#2
菜鸟上路2007-09-28 18:09
怎么解释啊
#3
zklhp2007-09-30 22:46
这个没见过……
#4
aoaoaoao2007-10-05 11:57

org 0100h
jmp LABEL_BEGIN

... //这儿省略了一些数据结构,
[SECTION .s16]
[BITS 16]
LABEL_BEGIN:
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov sp, 0100h

这个是生成的.com文件格式,

开始的这几条指令是运行在实模式下,初始化ds,es,ss段寄存器,它们都是和cs指向相同的段,

初始化sp的值 由ss和sp组成地址值指向开头空出的100H.这100H的空间是堆栈的空间.

1