首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编有关问题

2012-03-24 
汇编问题assume cs:code,ds:data,ss:stackcode segmentstart: mov ax,stackmov ss,axmov sp,16mov ax,data

汇编问题
assume cs:code,ds:data,ss:stack
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
data segment
  dw 0123H,0456H
data ends
stack segment
  dw 0,0
stack ends
end start
设程序加载后,code段的段地址为X,则data段的段地址为_____,stack段的段地址为_____。
X+3、X+4 原理是什么?怎么能知道code段占的空间是多少?

[解决办法]
u命令可以查看code段占了多少空间
80806默认一个段至少16个字节
code和stack段相差16个字节,所以段地址差了1
[解决办法]

探讨

code段应当是1400:0000~1400:0020,有32个字节,16个字节为1节,
code段的段地址为X,则data段的段地址应当为X+2, stack段的段地址应当为X+3。
可程序加载后,data段的段地址为X+3,stack段的段地址为X+4。
加后的情况

热点排行