易码技术论坛

 找回密码
 加入易码
搜索
查看: 222422|回复: 6

[菜鸟询问]反汇编与poke+call的关系

[复制链接]
发表于 2006-7-12 22:30:00 | 显示全部楼层
建议你去看一下xu的6502大奥秘,brk是中断,每个中断都有不同的作用
发表于 2006-7-13 14:10:00 | 显示全部楼层
0 14 5   是INT$0514的机器码 

96是RTS的机器码 

这是删除文件的中断

我也建议你去看一下xu的6502大奥秘

 
发表于 2006-7-13 15:26:00 | 显示全部楼层
以下是引用gcwy在2006-7-13 14:10:00的发言:[BR]0 14 5   是INT$0514的机器码 

96是RTS的机器码 

这是删除文件的中断

我也建议你去看一下xu的6502大奥秘

 


错,0 14 05 96

转换成汇编代码为 BRK  $050E

                               RTS

并非是0514,注意要转换成16进制的。


[em01][em01][em01][em01]
 楼主| 发表于 2006-7-13 20:41:00 | 显示全部楼层
感谢楼上

另:请教一下转换方法?
发表于 2006-7-14 01:02:00 | 显示全部楼层
感谢4楼指出错误!

我太不细心了!

转换方法xu的6502大奥秘里不是有吗?


我就举个例子吧!

如  214

   214/16=13.375

   就取13   

   因为  十进制与十六进制对就关系如下

   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17...

   1  2  3  4  5  6  7  8  9  0A  0B  0C  0D  0E  0F  10  11...

   所以13就换成D

   再把214-13*16=6

   所以十进制214=十六进制D6

   星软上传 区有我以前做的个 "进制转换器"

   你可以去下!

   还是那句话  建议你去看一下xu的6502大奥秘


 楼主| 发表于 2006-7-14 10:25:00 | 显示全部楼层
thanx
 楼主| 发表于 2006-7-12 14:53:42 | 显示全部楼层 |阅读模式
最近看了一篇basic的文章,将文件名poke到2189~2202中,再poke 8000,0:poke 8001,14:poke 8002,5:poke 8003,96,最后call 8000就可以删除文件。

然后我更改了8000~8003的位置,效果相同。于是我想0 14 5 96有什么用,查了一下ASCII,不是英文。

很偶然的机会,我进了debug,改了连续4个地址为0 14 5 96,反汇编0,奇迹出现了——显示:brk。

我从网上查到了:BRK Force Break 强制中断,我估计就是这个指令,删除了文件。

请问结论对吗?还有,如果正确,那如何将brk之类的指令转换为0 14 5 96这样的代码?小弟谢谢大虾了!
[em09]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-18 22:58 , Processed in 0.010251 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表