. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
主题 : :  在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行???  [已解决] 回复[ 5次 ]   点击[ 590次 ]  
zwjq
[帖 主] [ 发表时间:2010-08-05 21:57 ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
我的感觉是段是人为分出来的,最长是因为偏移地址的限制,所以不能一个段是不能超过2的16次,即64KB,而一个段不应该是8Byte,而只能是64KB,但是64KB之后的指令要是不断执行的话,也会被执行,因为段是人为分出来的(偏移地址不能我们说了算,但段地址可以我们说了算,只要它是16的倍数)
大家觉得呢?
zwjq
[第4楼] [ 回复时间:2010-08-06 09:32 ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
回复:[第3楼]
------------------
下列说法中正确的是:____
 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。
 物理地址为ffff0H的内存单元的偏移地址可能为ffffH。
 一个段的大小可以是8Byte。
 在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。
那为什么会选最后一项呢?我也认为程序也会一直执行下去,但和这道检测题就矛盾啦!还望赐教
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved