汇编网首页登录博客注册
assumechen的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2012-06-29 22:45] 检测点9.1

检测点9.1
(1)程序如下:
assume cs:code, ds:data

data segment
db ?         ; (1)
data ends

code segment
start:        mov ax,data
                mov ds,ax
                mov bx,0
                jmp word ptr ds:[bx+1]
                
                mov ax,4c00H
                int 21H
code ends

end start

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

答:(1) db 0,0,0

(2)程序如下:
assume cs:code,ds:data

data segment
dd 12345678H
data ends

code segment
start:        mov ax,data
        mov ds,ax
        mov bx,0
        mov [bx], [...]         ; (1)
        mov [bx+2],[....]         ; (2)
        jmp dword ptr ds:[0]
        
        mov ax,4c00H
        int 21H
code ends

end start
补全程序,使jmp指令执行后,CS:IP指向程序第一条指令

答:(1) mov word ptr [bx], offset start
    (2)        mov [bx+2],cs

(3)用Debug查看内存,结果如下:
2000:1000 BE 00 06 00 00 00
则此时,CPU执行指令:
mov ax,2000H
mov es,ax
jmp dword ptr es:[1000H]
后,(CS)=?,(IP)=?

答:(IP)=00BE (CS)=0006
评论次数(2)  |  浏览次数(708)  |  类型(汇编作业) |  收藏此文  | 

[  fpamc   发表于  2012-06-30 10:26  ]

对的。

[  assumechen   发表于  2012-06-30 22:34  ]

谢谢

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码