空间覆盖问题

zd3824812 2007-06-18 11:17:15
DATA SEGMENT
TAB DW P1,P2,P3,P4
N DB 5
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE

START: MOV AX,DATA
MOV DS,AX

MOV AL,N
DEC AL
ADD AL,AL ;形成表内偏移
MOV BL,AL
MOV BH,0
JMP WORD PTR TAB[BX]
P1: ……

JMP EXIT
P2: ……

JMP EXIT
P3: ……

JMP EXIT
P4: ……

JMP EXIT

EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
上述程序中
有4路分支,根据给定的
N值(1~4),将程序的执行转移到其中的一
路分支。
问题:
若P1处的指令占据的空间大于一个DW,P2 是否覆盖P1的一部分?
...全文
216 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2007-06-19
  • 打赏
  • 举报
回复
不存在这样的问题吧. 为什么有这样的疑问? 是因为 TABDW P1, P2, P3, P4 语句吗? 这个语句只是定义了个数组, 里面是 P1/P2/P3/P4 的入口地址而已, 不是说 P1 的空间只有一个 word. 所以, 无论 P1 有多大, 都是正常的, 不会发生空间覆盖的问题

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧