①CPU执行程序,程序返回前,data段中的数据不发生变化。
②CPU执行程序,程序返回前,cs=[code],ss=[stack],ds=[data]
③设程序加载后,code段的段地址为X,则data段的地址为X-2,stack段的地址为X-1
======
我的问题:
1. 第③问中,如果data段的长度超过64K,是不是就不存在上述的关系了(X-1,X-2)?
2. 同样第③问中,操作系统为每一段都寻找一段合适的空间,code段,data段,stack段,一定会连续在一起么?...
- [sysop] 嗯,我搞错了高位和地位的对应关系。。。谢谢指出。 0000 0000 10 11 12 13 14 04/15 10:08
- [游客] 哦了 04/15 09:36
- [游客] AX=6226+E6D6=48FC AX=48FC+CC2E=152A AX=0 AX= 04/15 09:13
- [sysop] 又是一段颓废的日子。。。 这次回来,不知道能坚持多久? 03/18 16:44
- [游客] ds:[bx]代表的地址是 0020:0000H,并非题目要求的0000:0200H! ===== 12/09 17:08
- [sysop] 嘿嘿,自己搞晕乎了, 其实 0000:0200H代表的是地址为:00200H 0020:0000 12/09 16:44
- [abob] 是玄幻小说吧,也真是虚幻 呵呵 事情还是得一步一步的进行,博主加油啊~ 11/24 10:56
- [sysop] 真的很对不起这里的老师,也对不起网站提供的资源。 我前一阶段因为工作的问题,一直没有再次上来学习。 11/12 14:58
[2009-11-11 08:15] [实验5]-1(p123)编写,调试具有多个段的程序
阅读全文 |
评论次数(0) |
浏览次数(659) |
所属类型(汇编教材 试验)
[2009-11-04 08:42] 检测点 6.1-(1)
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,[bx]
mov cs:[bx],ax
---------------
add bx,2
loop s
mov ax, 4c00h
int...
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,[bx]
mov cs:[bx],ax
---------------
add bx,2
loop s
mov ax, 4c00h
int...
阅读全文 |
评论次数(0) |
浏览次数(608) |
所属类型(汇编教材 检测点)
[2009-11-04 08:03] [实验4] [bx]和loop的使用-2
[题目要求]编程,向内存0:200-0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和 “int 21h”。
程序如下,请指教。
assume cs:cscode
cscode segment
mov ax,20H
mov ds,ax
mov bx,0
mov cx,64
s:mov [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
cscode ends
end...
程序如下,请指教。
assume cs:cscode
cscode segment
mov ax,20H
mov ds,ax
mov bx,0
mov cx,64
s:mov [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
cscode ends
end...
阅读全文 |
评论次数(0) |
浏览次数(660) |
所属类型(汇编教材 试验)
[2009-10-23 08:19] 可以使用ES来存放数据段的段地址
P113页,程序5.9中,设置了两个数据段地址,DS和ES。
ES也可以用来存放数据段地址,类似于DS的功能。但要在源程序中显式滴使用。...
ES也可以用来存放数据段地址,类似于DS的功能。但要在源程序中显式滴使用。...
阅读全文 |
评论次数(0) |
浏览次数(576) |
所属类型(读书笔记)
[2009-10-23 07:57] 利用bx作为循环变量
mov al,[bx]
inc bx ;bx自然增加1
bx作为内存地址的变量,利用inc bx改变bx的值,从而达到循环变量的目的。
之前好像看过一篇文章,只有bx可以做这个用途来使用。其他的寄存器都不可以。
好像如此。。。。暂记。...
inc bx ;bx自然增加1
bx作为内存地址的变量,利用inc bx改变bx的值,从而达到循环变量的目的。
之前好像看过一篇文章,只有bx可以做这个用途来使用。其他的寄存器都不可以。
好像如此。。。。暂记。...
阅读全文 |
评论次数(0) |
浏览次数(521) |
所属类型(读书笔记)
[2009-10-22 08:27] 编译器masm将mov ax,[0] 编译为 mov ax,0
这是写源程序是要注意的。
根据P104页提示,可以将数据段显式设置,即可达到目的
即写源程序时,写 mov,ax ds:[0]....
根据P104页提示,可以将数据段显式设置,即可达到目的
即写源程序时,写 mov,ax ds:[0]....
阅读全文 |
评论次数(0) |
浏览次数(595) |
所属类型(读书笔记)
[2009-10-22 07:52] 汇编源程序中,数据不能以字母开头
汇编语言第二版P97页,
汇编源程序中,大于9fffH的数据,在源程序中出现的时候,应在其前加0
例如,mov ax,A001H 是错误的。
应写为mov ax,0A001H。...
汇编源程序中,大于9fffH的数据,在源程序中出现的时候,应在其前加0
例如,mov ax,A001H 是错误的。
应写为mov ax,0A001H。...
阅读全文 |
评论次数(0) |
浏览次数(618) |
所属类型(读书笔记)
[2009-04-15 09:40] 汇编教材 检测点 3.1(P55-56)
(2)
CS=2000H,IP=0
第一句要执行的是:
mov ax,6622H CS=2000H,IP=0003H
jmp 0ff0:0100 CS=0ff0H,IP=0100,从10000H处读取指令
mov ax,2000H CS=0ff0H,IP=0103H
mov ds,ax CS=0ff0H,IP=0105H,DS指向2000H段开始的数据
mov ax,[0008] CS=0ff0H,IP=0108H,将20008H处的字数据(C389)放入ax。此时,C389是数据,而不是原来的mov bx,ax这行程序
mov ax,[...
CS=2000H,IP=0
第一句要执行的是:
mov ax,6622H CS=2000H,IP=0003H
jmp 0ff0:0100 CS=0ff0H,IP=0100,从10000H处读取指令
mov ax,2000H CS=0ff0H,IP=0103H
mov ds,ax CS=0ff0H,IP=0105H,DS指向2000H段开始的数据
mov ax,[0008] CS=0ff0H,IP=0108H,将20008H处的字数据(C389)放入ax。此时,C389是数据,而不是原来的mov bx,ax这行程序
mov ax,[...
阅读全文 |
评论次数(0) |
浏览次数(544) |
所属类型(汇编教材 检测点)
[2009-04-14 08:07] 汇编教材 检测点 3.1(P55)
(1)
DS=0001
则数据段地址为0010
注意用[...]的格式给AX,BX,al,bl赋值的时候,分别是按照字,字,字节,字节的方式赋值的,注意长度。
AX=6226
BX=26E6
AX=26E6
AX=6226
BX=E6D6
AX=6226+E6D6=48FC
AX=48FC+CC2E=152A
AX=0
AX=0026
BX=0
BX=0026
AX=0026+0026=004C...
DS=0001
则数据段地址为0010
注意用[...]的格式给AX,BX,al,bl赋值的时候,分别是按照字,字,字节,字节的方式赋值的,注意长度。
AX=6226
BX=26E6
AX=26E6
AX=6226
BX=E6D6
AX=6226+E6D6=48FC
AX=48FC+CC2E=152A
AX=0
AX=0026
BX=0
BX=0026
AX=0026+0026=004C...
阅读全文 |
评论次数(2) |
浏览次数(843) |
所属类型(汇编教材 检测点)
[2009-04-13 16:48] mov,add 之不能
不能 mov 地址,地址;如mov [0],[10],ERROR
不能 add ds,ax(p53),但可以 mov ds,ax...
不能 add ds,ax(p53),但可以 mov ds,ax...
阅读全文 |
评论次数(1) |
浏览次数(883) |
所属类型(读书笔记)
『 查看更多文章 』