回 帖 发 新 帖 刷新版面

主题:难题:ASSUME指令

这个指令的作用:把段分配给段寄存器

X86最多有6个段寄存器,这么说,程序同一时间最多只能调用6个段?


下列指令是否合法?(只判断)
第一个程序
SWB SEGMENT
SWB1 SEWGMENT
.....
.....
......
SWB1 ENDS
SWB ENDS
ASSUME CS:SWB
ASSUME CS:SWB1


第二个程序
SWB SEGMENT
SWB1 SEWGMENT
.....
.....
......
SWB1 ENDS
SWB ENDS
ASSUME CS:SWB  CS:SWB1

回复列表 (共3个回复)

沙发

code1 segment
assume cs:code1
....
code1 ends

code2 segment
assume cs:code2
...
code2 ends
是合法的

板凳

老大,汗~~跑题了 ~~
我只想明白ASSUME指令的作用

X86最多有6个段寄存器,这么说,程序同一时间最多只能调用6个段?

3 楼

assume指令的作用是建立段寄存器与段之间的对应关系,一个段寄存器在同一时间只能对应一个段(或段组),你的错误在于ASSUME CS:SWB  CS:SWB1企图把cs同时对应两个段,这是非法的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册