linha0 发表于 2011-6-23 01:46:29

(实验5)程序返回前和程序加载后的区别?

1、程序返回前
      
   也就是程序代码执行到“ int 21h ”前;


2、程序加载后

   第一种理解:程序被加载到内存后,并自动从“start”处开始执行代码,一直到 “int 21h”前;


   第二种理解:程序被加载到内存后,并初始化一部份数据(cs,ds,ss……),但没有执行任何一句“代码”;




http://bbs.fishc.com/data/attachment/album/201106/23/013044jhd2d8qra7880960.gif


按照题目和小甲鱼的答案,应该是“第一种理解”;


但是,不知道为什么,我老是认为“第二种理解”才是正解。可是,这样理解的话。题目的答案将会改变。


纠结的人正在纠结中,谁能给我一把刀??


Miller01001 发表于 2011-6-23 06:37:59

CPU不认识程序段,代码段,栈段。这是程序员自己定义的。
在程序刚开始 assume翻译成中文就是假设的意思
你可以自己定义段的地址。

linha0 发表于 2011-6-23 09:53:54

CPU是不认识那些东东,但CPU总得按照程序给定的指令执行一些东西吧?
我的意思是:在程序加载后,CPU执行到哪一步了?
继续纠结中……

Miller01001 发表于 2011-6-23 10:47:10

本帖最后由 Miller01001 于 2011-6-23 10:48 编辑

DS ---- CS中间的代码PSP就是windows/DOS的外壳
提供DOS的接口
程序执行的是汇编指令从定义CS程序段开始
要执行到那一步就看你写的汇编指令了!
这就是编程,按你的设计的思路来操作计算机

linha0 发表于 2011-6-23 11:10:21

:dizzy:
就实验5的第一题来说,程序返回前和程序加载后有区别吗??
页: [1]
查看完整版本: (实验5)程序返回前和程序加载后的区别?