. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  监测点9.1, 是不是教材勘误呀?求助  [已解决] 回复[ 5次 ]   点击[ 517次 ]  
qq93324030
[帖 主]   [ 发表时间:2010-10-05 04:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-09-29 03:55
说明: 
对于第一题和第二题,我认为程序的第一条指令是在B和D处,而不是A或者C处,因为A和C处只是属于源程序,而不是真正的程序部分。基于此,第二题第一空只能改为:mov word ptr [bx],10h 


(1)程序如下  
assume cs:code  

data segment  
        dw 1000h,0      ;(A) 
data ends  

code segment  
start:        mov ax,data     ;(B) 
                mov ds,ax  
                mov bx,0  
                jmp word ptr [bx+1]  
code ends  
end start  

若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中该定义哪些数据?  

(2)程序如下  
assume cs:code  

data segment  
        dd 12345678H     ;(C)     
data ends  

code segment  
start:        mov ax,data   ;(D) 
                mov ds,ax  
                mov bx,0  
                ;mov [bx],___ ;这一句是书上的,个人觉得不对 
                mov word ptr [bx],10h 
                mov [bx+2],cs  
                jmp dword ptr ds:[0]  
code ends  
end start  

补全程序,使jmp指令执行后,cs:ip指向程序的第一条指令。
qq93324030
[第1楼]   [ 回复时间:2010-10-05 04:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-09-29 03:55
源程序和程序的相关解释第4章(p79)
qq93324030
[第2楼]   [ 回复时间:2010-10-07 04:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-09-29 03:55
一个星期了,咋没人给个回复呢~
lanren
[第3楼]   [ 回复时间:2010-10-09 14:28 ]   [引用]   [回复]   [ top ] 
荣誉值:12
信誉值:2
注册日期:2009-04-14 23:51
第一条指令处的地址是CS:0,偏移应该是0,也就是现在BX的值,你上题也是如此。你这个10H是按数据段的段地址算的吧。
qq93324030
[第4楼]   [ 回复时间:2010-10-10 01:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-09-29 03:55
哦,我理解错误。谢谢指点~
qq93324030
[第5楼]   [ 回复时间:2010-10-10 01:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-09-29 03:55
此贴由 贴主 于 [ 2010-10-10 01:46 ] 结贴。 结贴原因:问题已解决
得分情况: 3楼(lanren):8分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved