项羽姓秦 发表于 2020-3-5 22:03:47

检测点10.1作业练习

assume cs:code

stack segment
        db 16 dup(0)
stack ends

code segment
start:        mov ax,stack
                mov ss,ax
                mov sp,16
                mov ax,1000h                ;把1000h赋值低位
                push ax       
                mov ax,0                        ;把0h赋值高位
                push ax
                retf
code ends
end start

jackz007 发表于 2020-3-5 23:01:18

本帖最后由 jackz007 于 2020-3-5 23:02 编辑

      这个代码和你的代码编译出来的执行效果完全一样
assume cs:code
stack segment stack
      db 16 dup(0)
stack ends
code segment
start:          mov ax,1000h                ;把 1000h 赋值低位
                push ax      
                mov ax,0                  ;把 0h 赋值高位
                push ax
                retf
code ends
end start

项羽姓秦 发表于 2020-3-5 23:20:44

jackz007 发表于 2020-3-5 23:01
这个代码和你的代码编译出来的执行效果完全一样

其实我们看的就是为了让程序从1000:0000开始执行而已,所以上面那些赋值作用并不大,可有可无。

jackz007 发表于 2020-3-5 23:26:27

项羽姓秦 发表于 2020-3-5 23:20
其实我们看的就是为了让程序从1000:0000开始执行而已,所以上面那些赋值作用并不大,可有可无。

      你还没有看出区别?我去掉的是堆栈段的赋值!

项羽姓秦 发表于 2020-3-5 23:32:41

jackz007 发表于 2020-3-5 23:26
你还没有看出区别?我去掉的是堆栈段的赋值!

我知道啊。

jackz007 发表于 2020-3-5 23:46:31

项羽姓秦 发表于 2020-3-5 23:32
我知道啊。

      我想说的是,王爽的汇编语言教程写的很不怎么样,很多东西都没有讲,却莫名其妙地火,像堆栈段的定义和使用,就没有讲透彻。清华大学温冬婵、沈美明编写的《IBM PC 汇编语言程序设计》才是真正值得推崇的教材。

项羽姓秦 发表于 2020-3-6 00:01:54

jackz007 发表于 2020-3-5 23:46
我想说的是,王爽的汇编语言教程写的很不怎么样,很多东西都没有讲,却莫名其妙地火,像堆栈段的定 ...

嗯,感谢兄弟推荐,确实很多讲的不详细,我也是比较难费解,你推荐的,我会看的。
页: [1]
查看完整版本: 检测点10.1作业练习