鱼C论坛

 找回密码
 立即注册
查看: 3044|回复: 1

[技术交流] 实验12 坚持完成! 问个问题

[复制链接]
发表于 2011-6-3 16:54:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume  这个开头起什么作用? 我不写好像也没什么事发生

个人推荐emu8086模拟器!!我都在这上面操作滴!
  1. assume cs:code

  2. data segment ;不能超过256字节 200h-2ffh
  3. hard:        mov ax,cs
  4.         mov ds,ax
  5.         mov si,200H + offset str ;字符偏移首地址
  6.         mov ax,0b800h
  7.         mov es,ax
  8.         mov di,12*160+36*2
  9.        
  10.         mov cx,offset rear - offset str ;字符长度
  11. s:        mov al,[si]
  12.         mov es:[di],al
  13.         inc si
  14.         add di,2
  15.         loop s
  16.        
  17.         mov ax,4c00h
  18.         int 21h
  19.        
  20. str:        db "3DMGAME.DiRT3.nocrack.RIP" ;中文好像不行
  21. rear:   nop
  22. data ends

  23. code segment
  24. start:       
  25.         mov ax,data
  26.         mov ds,ax
  27.         mov si, 0
  28.         
  29.         mov ax,0
  30.         mov es,ax
  31.         mov di,200h
  32.         
  33.         mov cx,offset rear - offset hard ;拷贝段长度
  34.         cld
  35.         rep movsb
  36.         ;写入入口地址
  37.         mov ax,0
  38.         mov es,ax
  39.         mov word ptr es:[0*4],200h
  40.         mov word ptr es:[0*4+2],0  
  41.         
  42.         ;下面是除法溢出
  43.         mov ax,1000h
  44.         mov bh,1
  45.         div bh

  46.         mov ax,4c00h
  47.         int 21h
  48.        
  49. code ends
  50.         end start
复制代码

评分

参与人数 2荣誉 +3 鱼币 +3 收起 理由
china0008 + 1 + 2
loop + 2 + 1 继续努力吧~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-4 00:39:23 | 显示全部楼层
本帖最后由 loop 于 2011-6-4 01:01 编辑

assume 是“假设”的意思,它假设关联某一段寄存器和程序中的某一个用segment ……ends定义的段相关。
通过assume 说明这种关联,在需要的情况下,编译程序可以将段寄存器和某一个具体的段相联系。

第四章,第一小节。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 17:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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