超级搬运工

前我们往屏幕输出了一个Hello,费了老大的劲。
有没有什么更简单的方法呢?
当然有啦。

我们把所有的文字对应的Ascll码统一放到一块内存里面。
再把这些东西统一搬进去显存里面。



mov
cx,10
ES:B800
DI:0

DS:07C0
SI:8

rep movsb
byte ptr [ES:DI],byte ptr
[DS:SI]

超级搬运工:
1.要搬的东西的在哪里。
2.把东西搬到哪里去。
3.每一次可以搬多少东西,需要搬多少次。
4.从上往下搬,还是从下往上搬。


movsb

 32位  16位 8位寄存器
 EAX  AX AH AL
 ECX  CX CH CL
 EDX  DX DH DL
 EBX  BX BH BL
 ESP  SP  
 EBP  BP  
 ESI  SI  
 EDI  DI  

DF=方向标志位(Direction
Flag)
决定串处理指令控制每次操作后si、di的增减。
df=0,则每次操作后si、di递增,否则递减。

cld指令会把DF=0
std指令会把DF=1

repeat

在8086种,有这样的功能指令叫做
movsb和movsw
move
string

这两个指令的作用是,把一块内存的东西搬到另外一块内存里面。

那么它如何使用呢?

movsb=是以字节进行复制
movsw=是以两个字节(字)进行复制

movsb
byte ptr [ES:DI],byte ptr [DS:SI]

从哪里开始搬东西呢?需要一个地址DS:SI
把东西搬到哪里呢?
ES:DI

搬几次呢?  把要搬的次数放到 cx里面。 
每搬1次,就把cx里面的数字减1,减到0就代表搬完了。

mov ax,0x07c0  ;3 07c00
mov ds,ax ;2

jmp near mycode  ;3

mydata:;07c08
db
‘H‘,0x7,‘e‘,0x7,‘l‘,0x7,‘l‘,0x7,‘o‘,0x7

mycode:
mov ax,0xb800
mov es,ax

mov cx,10
mov si,mydata
mov di,0

rep movsb  ; movsb byte ptr [ES:DI],byte ptr
[DS:SI]


stop: jmp near stop
times 510-($-$$) db 0
dw
0xAA55

时间: 2024-10-24 01:22:14

超级搬运工的相关文章

noi Big String 超级字符串

//来自2017青岛信息竞赛第一题 9269:Big String超级字符串 查看 提交 统计 提问 总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  131072kB 描述 fish在无数次oi竞赛的狱炼之后,悟出一个真理,往往越容易的题目,陷阱越深.由此,fish创作了这道题目. fish首先给出两个短串A='4567' (4个字符), B='123'(3个字符).反复进行如下的操作得到一个长串C. (1)C=B+A (例如:A='4567' ,B='123

【No.2 Ionic】超级逗表情 App

本人使用Ionic框架开发了一个 超级逗表情 的App 依赖插件 cordova-plugin-app-version 0.1.9 "AppVersion" cordova-plugin-file 4.3.0 "File" cordova-plugin-file-opener2 2.0.2 "File Opener2" cordova-plugin-file-transfer 1.6.0 "File Transfer" cor

Win7下超级管理员创建普通权限任务

已转至新的博客 http://www.raysoftware点击打开链接.cn/?p=49 项目中用到一个功能,Win7下超级管理员创建普通权限任务. 试了几种办法,例如获取资源管理器的Token,然后以这个Token用CreateProcessWithTokenW创建任务.这样做是可以的. 但是如果当前没有资源管理器或者其他普通权限的任务怎么办?CreateToken自己构造一个Token也可以,但是那些参数看了就头大. 试了一下以超级用户方式启动任务管理器用菜单中的运行,居然是默认创建普通权

hdu 1226 超级密码

超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3110    Accepted Submission(s): 1006 Problem Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制

超级电容v1.1

超级电容储能线路评估 负责人:张强 合伙人:李晓爽 员工:李静.王可心 项目分工: 1.张强:分析低成本.高效率.小体积的优势占据市场:把研究过程讨论论证结果,发布到博客上. 2.李晓爽:对超级电容储能线路做出最大的风险和不足的评估:做出简历和创业的意见. 3.李静:对其他储能方式比较的最大风险做分析;分析产业链最有可能的突破方式和公司估计. 4.王可心:设计前沿动态网站和机构地址:分析距离大规模产业化还有多远. 摘要: 北京合众汇能科技有限公司是一家从事先进能源技术和产品的研发.生产与销售的高

【NOIP模拟赛】超级树 DP

这个题我在考试的时候把所有的转移都想全了就是新加一个点时有I.不作为II.自己呆着III.连一个IV.连接两个子树中的两个V连接一个子树中的两个,然而V我并不会转移........ 这个题的正解体现了一种神奇的思想,对于好合并但是不好转移的dp我们可以先打散然后合并到最后,所以我们从一开始维护f[i][j]表示i阶超级树中有j个互不相交的路径的方案数. #include <cstdio> typedef long long LL; LL f[310][310],mod,temp; int n;

超级淘翻牌子活动上线,百万福利朋友圈看到了吗?

活动其实很简单,只要用户通过超级淘在淘宝.天猫.京东购物,下单完成后,就可以可参加翻牌子抽奖活动,每个人有10次翻牌子机会,每买一单就有10次翻牌子机会,每张牌子100%有奖励,奖励类型为:年化利率.存款.现金红包等等一系列实打实的好处! 活动详情:     6.8号起每完成一笔订单,就可以进行一次翻牌子,每笔订单累计共可以翻10次,自己本人可以翻1次,剩余9次可以分享给微信好友帮你翻.所有收益均与单笔订单金额相关联. 其实超级淘还推出了其他优惠返现活动,超级淘现推出的淘宝"超级淘搜索入口&qu

超级淘随时买,随时收益!

我和我朋友都是很喜欢买包包.衣服的人,其实女人也总是觉得没衣服穿,见到包包就走不动.很正常,有时买了新包包发在朋友圈,有朋友就会问:"为什么我存不下钱去自己想要的包包呢?"今天就把我自己的小秘密告诉大家! 很多人都在打工拼搏,每天加班加点的工作,却不能把钱花在取悦自己的东西上,令人很遗憾.就像朋友圈有人问我一样,我们怎么样才能做到买自己想要的东西呢?又不想身无分文,还能存一笔钱? 今天告诉大家:你需要一个省钱小助手--超级淘! 超级淘是一个电商导购消费型APP,通俗易懂的节食就是,你在

codevs2464超级麻将

题目链接http://codevs.cn/problem/2464/ 题目描述 Description 很多人都知道玩麻将,当然也有人不知道,呵呵,不要紧,我在这里简要地介绍一下麻将规则: 普通麻将有砣.索.万三种类型的牌,每种牌有 1~9个数字,其中相同的牌 每个有四张,例如 1 砣~9 砣,1索~9 索,1 万~9 万各有 4 张,所以共 36*3=108张牌.胡牌时每人有 14 张牌,其中只要某人手里有若干句话(就是同种类型的牌连续三张或同种牌三张) ,另外再加上一对,即可胡牌.当然如果全