弱弱基础问题(多段结构程序)
间谍 2004-11-30 12:55:32 这几天看 多段结构的程序时,常有些问题分不清
*************************第一个问题:
dseg1 segment
message db 'hello',0
dseg1 ends
dseg segment
...........
dseg2 ends
sseg segment
....
sseg ends
cseg segment
assume cs:cseg, ds:dseg2, ss:sseg
................
mov ax, offset message ;这条语句中,offset message合法吗?目前DS关联的段是dseg2,为什么还能访问dseg1的内容
*********************************第二个问题:
在实模式下,是不是一定要在自己的程序中定义堆栈,否则就不能进行push/pop,call等操作,可是我看书上一些程序,只是在保护模式下才设置堆栈段,在实模式下未定义任何堆栈段就进行堆栈操作了。
*********************************第三个问题:
一些调用, 如 JUMP16 <org real>,<offset real>
其中real是某个段中的标号
汇编里<>有啥用?还有这句改为 jump16 <org real>, real 行吗?这个offset在这里是不是可有可无啊?
JUMP32是个调用宏观
jump16 marco sel, offset
dw 0eah
dw sel
dw offset
jump16 endm