首页
社区
课程
招聘
[求助]mov ax,18都会出错....
发表于: 2009-2-27 10:37 5007

[求助]mov ax,18都会出错....

2009-2-27 10:37
5007
.386
.model flat,stdcall
option casemap:none
.data
.data?
.code
start:
    mov    ax,18
end start

masm32下编译,执行,提示非法操作,0X00000012内存不可写``

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这是为什么呢?请教
2009-2-27 10:41
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
.386
.model flat,stdcall
option casemap:none
.data
.data?
.code
start:
    mov    ax,18
end start

masm32下编译,执行,提示非法操作,0X00000012内存不可写``
不知道为什么,请教之....
2009-2-27 10:42
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
忘了加ret
2009-2-27 10:56
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵,楼上说的对
2009-2-27 10:58
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
执行完了请退出,不然一般后面会用00填充,而00 00会被反汇编成add byte ptr [eax], al,这时eax被你赋值成18(0x12),当然内存0x00000012不可写啦。

写代码最后要退出程序,
DOS下用
mov ax,4c00h
int 21h

windows用
invoke ExitProcess, NULL
2009-2-27 11:03
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
7
楼上强,我咋没想到00反汇编后的东西
2009-2-27 11:35
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我平时比较喜欢玩解谜类小游戏,看到0x00000012就情不自禁的联想了一下
2009-2-27 11:56
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好厉害的联想力~ 学习
2009-2-27 12:22
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=icersg;584675]执行完了请退出,不然一般后面会用00填充,而00 00会被反汇编成add byte ptr [eax], al,这时eax被你赋值成18(0x12),当然内存0x00000012不可写啦。

写代码最后要退出程序,
DOS下用
mov ax,4c00h
int 21h

windows用
invok...[/QUOTE]

静静的佩服一下.
2009-2-27 12:56
0
游客
登录 | 注册 方可回帖
返回