首页
社区
课程
招聘
[求助]汇编这么开头是什么意思
发表于: 2007-6-20 16:53 7242

[求助]汇编这么开头是什么意思

2007-6-20 16:53
7242
汇编这么开头是什么意思
把解释写在后面行么

data segment   
  strhl db 'hello   world!','$'   
  data ends   
   
  code segment   
  assume cs:code,ds:data   
  start:   
  push ds   
  xor ax,ax   
  push ax   
   
  mov ax,data   
  mov ds,ax   
   
  mov dx,offset   strhl   
  mov ah,09h   
  int 21h   
   
  retf   
  code ends   
  end start

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没什么意思 做下面的寻址用的
ds:data  
DS段就是指向 你的数据的
2007-6-20 21:42
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
segment    就是一个段
data 其实对应于 .data 或者 .bss
code 对应于 .text
这是早期的8086的dos汇编的代码
2007-6-22 20:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不太懂,共同探讨吧
2007-6-22 21:15
0
雪    币: 212
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
作用是输出字符串:'hello   world! 以$字符串为结束。
2007-6-23 03:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
data segment           定义了一个data段
  strhl db 'hello   world!','$'            分配存储空间,存储hello  world
  data ends   
code segment                              segmeng就是定义段,前面是段名
  assume cs:code,ds:data               code存cs寄存器,data存ds
  start:                                          开始
  push ds                                这三句我也不理解到底有什么用,但就是得写
  xor ax,ax                                把ds压栈,ax归0压栈。xor是异或运算
  push ax   
   
  mov ax,data               data存ds段寄存器           
  mov ds,ax   
   
  mov dx,offset   strhl                      将strhl地址存入dx

  mov ah,09h                                 这里是dos系统功能调用,09h是“显示字符串”
  int 21h   
   
  retf                                                结束
  code ends   
  end start
2007-6-23 14:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哪个语句不懂?
反正我也是菜
一起来吧
2007-6-23 14:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
恩,这些还有些难度
2007-6-25 12:00
0
游客
登录 | 注册 方可回帖
返回
//