汇编语言程序设计考试题怎么做啊?

已知s0,s1,s2,s3,……sn均为各程序段的入口地址,分析下列程序段DATASSEGMENTADDRESSDWS0,S1,S2,……,SNNUMBERDB4……MO... 已知s0,s1,s2,s3,……sn均为各程序段的入口地址,分析下列程序段
DATAS SEGMENT
ADDRESS DW S0,S1,S2,……,SN
NUMBER DB 4
……
MOV BL,NUMBER
SHL,BL,1
MOV BH,0
JMP ADDRESS[BX]
试问(1)上述程序段所完成的功能是__________
(2)上述程序段执行后所转向的目标是__________
展开
 我来答
wuqing0312
2015-05-14 · TA获得超过311个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:221万
展开全部
(1)根据NUMBER的值,确定要跳转到哪个段执行
(2)程序跳转的目标为S4的位置;这个不同的环境应该是有区别的,X86的话偏移位是要求实际位置来确认的,不会根据大小自动计算的,所以代码里进行了SHL BL,1的乘以2的操作,换句话说就是跳转到NUMBER指定序号的段去执行
有些环境是自动计算大小的,因为BX=8,所以会跳转到S8的位置去执行。这里需要区别的是ADDRESS[BX]里的BX是相对ADDRESS的偏移,还是跟C语言里一样的数组序号,不同环境是有区别的,X86下应该是偏移
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式