(1) 若要使程序中的 jmp 指令执行后, CS:IP 指向程序的第一条指令, 在 data 段中应该定义哪些数据?
程序如下:
assume cs:code
data segment
dd 0,0,0
data ends
code segment
start:
mov ax, data
mov ds, ax
mov bx, 0
jmp word ptr [bx+1]
code ends
end start
(2)补全程序, 使 jmp 指令执行后, CS:IP 指向程序的第一条指令
assume cs:code
data segment
dd 12345678h
data ends
code segment
start:
mov ax, data
mov ds, ax
mov bx, 0
mov [bx],bx
mov [bx+2],cs
jmp dword ptr ds:[0]
code ends
end start
(3) 用 Debug 查看内存,结果如下:
2000:1000 BE 00 06 00 00 00
则此时,CPU执行指令:
mov ax, 2000h
mov es, ax
jmp dword ptr es:[1000h]
后,(CS)= ? ,(IP)= ?
CS=0006 IP=00BE
- [zhenglxd] 正确 挺可惜的 你们十堰职业技术学院学生 最终能坚持下来的也就2,3个,好像你的进度是最快的! 06/16 15:50
- [tomato] 正确。 06/15 14:35
- [tomato] 正确。 06/12 09:18
- [十堰职业技术学院学生211037] 谢谢whos 提出的错误,自己检查了一下,最后得出的结果是: Add al ,90h cf= 05/23 19:57
- [十堰职业技术学院学生211037] 谢谢,是我自己理解的时候出错。 正确的做法是: (1) Mov ax,0f000h Mov 05/22 17:51
- [游客] 回答OK。 05/22 08:10
- [游客] jb是小于,jnb是不小于(即大于或等于)。根据这个解释,你的两个题目是有问题的。[]是闭区间,() 05/22 08:09
- [tomato] 正确。 05/19 12:34
- [whos] Add al,90H CF=0 OF=0 SF=0 ZF=0 PF= 05/17 12:15
- [mess] 正确,博主继续加油啊^_^ 05/11 18:41
- [游客] 为啥没有报名学习活动呢?那样你的博客里就有专门提交作业的地方了。 03/26 20:51
[ 游客 发表于 2009-04-29 10:56 ]
第1题中的数据定义,如果是dd的话,貌似不用定义那么多。反映不出博主对题目的把握。所以,加入一些分析最好了。