如题,在学王爽汇编语言这本书。对assume的作用起了疑惑。书里讲:assume的作用是连接段名与段寄存器。
但是它真的连接了吗?如连。
譬如我在开头写:assume cs:code,ds:data,ss:stack
跟写assume cs:code的作用是一样的,编译器并不会自动把ds和ss指到对应的段寄存器
但是,倘若我把assume整行都删了,编译器又会报错,错误如下:missing or unreachable CS
您瞧瞧,CS却找不到要指向的地方了!
可是,书中不是说,cs指向哪里是由end决定的吗?end后面的标识符在哪编译器就把cs指到哪里,倘若没有就指向这份源程序的开头,为啥我不写assume它却不行了?
综上,我想知道编译器看见assume之后到底干了什么?assume的具体作用及作用机制到底是什么?
在此先拜谢各位大佬!!
但是它真的连接了吗?如连。
譬如我在开头写:assume cs:code,ds:data,ss:stack
跟写assume cs:code的作用是一样的,编译器并不会自动把ds和ss指到对应的段寄存器
但是,倘若我把assume整行都删了,编译器又会报错,错误如下:missing or unreachable CS
您瞧瞧,CS却找不到要指向的地方了!
可是,书中不是说,cs指向哪里是由end决定的吗?end后面的标识符在哪编译器就把cs指到哪里,倘若没有就指向这份源程序的开头,为啥我不写assume它却不行了?
综上,我想知道编译器看见assume之后到底干了什么?assume的具体作用及作用机制到底是什么?
在此先拜谢各位大佬!!

