首页
社区
课程
招聘
[已解决]初学汇编的两个问题
发表于: 2006-9-8 18:51 5152

[已解决]初学汇编的两个问题

2006-9-8 18:51
5152
下列的问题请大哥们别笑..

我是按着论坛的指引买了本"IBM-PC汇编语言"和"windows编程"还有论坛出的"加密与解密"想学习破解的...

同时下载了MASM..但看了汇编一段时间了..但小弟还不知道..怎么用MASM编写汇编程呢...解压后..我全部的图标都双击试过了..但没有一个像TC那样编写程序的窗口..现在很郁闷..根本上不了机...麻烦大大们指点一下..到底怎样做...

还有就一条问题就是

关于段间直接寻址的问题...如:

JMP FAR PTR NEXTROUTINT

NEXTROUTINT这个位移量..是存放在代码段本指令后的单元里..那么NEXTROUTINT如果在16位指令里..是不是一个32位数呢???如果32位指令那么是不是一个64位二进制数呢???如果不是那么怎么分到IP,CS或EIP,CS里呢???这里有点乱...

NEXTROUTINT到底是符号地址还是符号常数呢???这些概念也有点乱...

望大大们详细点给小弟解释一下好吗?..先谢谢了..

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
那位大哥..帮忙解决一下..谢谢
2006-9-8 23:39
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
在MASM32里面是用这个:QEDITOR.EXE

在你的程序里面,NEXTROUTINT就是一个标号而已,是随意起的名字。比如:

XXXXXXXX
jmp j1
XXXXXXXX
...............
j1:
XXXXXXXX
2006-9-9 10:40
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
1.用文本编辑器写汇编程序, 然后用MASM编译, 那个QEDITOR.exe是MASM32软件包中的东东, 如果是MASM5.0之前的版本是没有的
2.先说说全指针
跨段转移的指令会用到所谓全指针, 格式  段/段选择子:偏移, 16位代码中, 指针是32位(16位段值+16位偏移), 在32位代码中, 指针是48位的(16+32位偏移), 例如
16位例子
0000h:1347h
32位例子
0008h:FFD0C700h

远转移指令用的是全指针, 指令格式:
;jmp far ptr xxxx
;16位格式
DB  0EAh  ;指令码
DW  Offset;段内偏移
DW  seg   ;段值
;32位格式
DB  0EAh  ;指令码
DD  Offset;32位偏移
DW  set   ;段选择子
2006-9-9 13:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 thebutterfly 发布
1.用文本编辑器写汇编程序, 然后用MASM编译, 那个QEDITOR.exe是MASM32软件包中的东东, 如果是MASM5.0之前的版本是没有的
2.先说说全指针
跨段转移的指令会用到所谓全指针, 格式 段/段选择子:偏移, 16位代码中, 指针是32位(16位段值+16位偏移), 在32位代码中, 指针是48位的(16+32位偏移), 例如
16位例子
0000h:1347h
........


先谢谢楼上两位...

那么这个标号..是不是自己定义的数..像C一样..int i 1000;

这个标号的值就是1000...存在代码段OP之后..1000是用48位存起来或是以32位存起来???然后执行JMP....

还是在定义是像thebutterfly给出的那样...

在定义是写成...0000h:1347h这样的格式..存储时0000h和1347h各占16位??

不知道这样理解对不对???
2006-9-9 16:22
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
我说的是指令被汇编后的形式, 不是在源代码中的定义

在源代码中只有标号, 不会出现类似于0000h:1347h之类的指针的

如果跳到标号引用的地址的过程是一个远跳转, 汇编器会自动汇编成全指针的
2006-9-9 16:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 thebutterfly 发布
我说的是指令被汇编后的形式, 不是在源代码中的定义

在源代码中只有标号, 不会出现类似于0000h:1347h之类的指针的

如果跳到标号引用的地址的过程是一个远跳转, 汇编器会自动汇编成全指针的


哦..这样啊...那么..在源代码中的时候...应该怎样去定义这个标号呢???

总该要有个定义吧..不然..怎么知道..要跳到那里去???
2006-9-9 16:40
0
雪    币: 750
活跃值: (227)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
8
怎么用MASM编写汇编程呢?

我推荐使用"RadASM 2.2.0.9汉化版"(汇编集成开发工具)配合使用

相当于一个IDE

下载页面:d2bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3N6r3!0G2L8s2y4Q4x3V1k6o6L8$3#2H3K9h3I4W2M7Y4y4Q4x3X3g2Z5N6r3@1`.
2006-9-9 16:52
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
9
在不同的段中定义标号, 例如:
CODE1 SEGMENT USE16
     
    ......
    jmp far ptr TGT
    ......
RETURN::
    ......
CODE1 ENDS

CODE2 SEGMENT USE16
     
     ......
TGT::
     ......
     jmp far ptr RETURN     
CODE2 ENDS

一定要是跨段的转移(jmp或者call)才会被汇编成远跳转, 使用全指针
2006-9-9 16:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 thebutterfly 发布
在不同的段中定义标号, 例如:
CODE1 SEGMENT USE16

......
jmp far ptr TGT
........


哦..看了你的例子..再找了些资料..大概明白了..谢谢你的帮忙...
2006-9-9 17:08
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
73aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3!0J5M7$3!0G2L8W2)9J5k6h3y4G2L8g2)9J5c8W2y4G2k6Y4c8%4j5i4u0W2i4K6u0r3j5$3q4@1j5h3I4G2k6K6p5$3x3#2)9J5c8U0f1K6z5o6k6Q4x3X3g2Z5N6r3#2D9
给个下载的地址,你可以去看看这本书。
下载也很快哟,肯定值得一看!
2006-9-10 12:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 风流才子 发布
ea6K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3!0J5M7$3!0G2L8W2)9J5k6h3y4G2L8g2)9J5c8W2y4G2k6Y4c8%4j5i4u0W2i4K6u0r3j5$3q4@1j5h3I4G2k6K6p5$3x3#2)9J5c8U0f1K6z5o6k6Q4x3X3g2Z5N6r3#2D9
给个下载的地址,你可以去看看这本书。
下载也很快哟,肯定值得一看!


太感谢了...看雪的大大们真的很热情...谢谢楼上的各位给小弟的帮忙...谢谢
2006-9-10 18:27
0
雪    币: 209
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
用 “masm for windows 集成实验环境 v6.0 ”吧!
很好用的,界面也很好看!
只是这个软件需要注册!
下载地址是:
c7fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8G2N6$3&6D9L8$3q4V1i4K6u0W2K9i4b7I4y4U0S2Q4x3X3g2U0L8$3#2Q4x3V1j5H3y4#2)9J5c8U0l9%4x3e0c8Q4x3V1j5K6y4U0t1^5z5g2)9J5c8U0x3$3x3U0R3&6i4K6g2X3y4q4)9J5k6i4y4Z5N6r3#2D9
2006-9-13 16:54
0
游客
登录 | 注册 方可回帖
返回