用程序段实现,将BUF缓冲区中的100个字节数据依向反次序传送到存储区STRBUF中
2010-04-18 21:02
411 查看
小题目,对于初学来讲,学到的东西还不少。。。
题目:
用程序段实现,将
BUF
缓冲区中的
1
00
个字节数据依向反次序传送到存储区
STRBUF
中。
.386
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib kernel32.lib
includelib user32.lib
.data
BUF db '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890helloworld',0 ;缓冲区的100个字节数据
STRBUF db 100 dup(0)
.code
start:
mov eax , OFFSET BUF ;eax中存放 源BUF 的偏移地址 , 这里一直是BUF首地址的偏移地址
mov ecx , 100 ;ecx寄存器中存放变化量 相当于for语句中的i ,这里给i赋初始值100
loops:
mov bl , [eax+ecx-1]
mov edx , OFFSET STRBUF ;edx中存放 目的STRBUF 的偏移地址 , 开始时是首地址的偏移地址
add edx , 100
sub edx , ecx
mov [edx] , bl
dec ecx ;;;;;;;;
cmp ecx , 0 ;这三条指令的综合功能是:判断ecx寄存器中的值减减(如C语言中 i--)是否为0,不为0则跳回到标号loop处,继续执行“for语句”
jne loops ;;;;;;;;
invoke MessageBox , NULL, offset BUF, offset STRBUF, MB_OK
invoke ExitProcess, 0
end start
题目:
用程序段实现,将
BUF
缓冲区中的
1
00
个字节数据依向反次序传送到存储区
STRBUF
中。
.386
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib kernel32.lib
includelib user32.lib
.data
BUF db '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890helloworld',0 ;缓冲区的100个字节数据
STRBUF db 100 dup(0)
.code
start:
mov eax , OFFSET BUF ;eax中存放 源BUF 的偏移地址 , 这里一直是BUF首地址的偏移地址
mov ecx , 100 ;ecx寄存器中存放变化量 相当于for语句中的i ,这里给i赋初始值100
loops:
mov bl , [eax+ecx-1]
mov edx , OFFSET STRBUF ;edx中存放 目的STRBUF 的偏移地址 , 开始时是首地址的偏移地址
add edx , 100
sub edx , ecx
mov [edx] , bl
dec ecx ;;;;;;;;
cmp ecx , 0 ;这三条指令的综合功能是:判断ecx寄存器中的值减减(如C语言中 i--)是否为0,不为0则跳回到标号loop处,继续执行“for语句”
jne loops ;;;;;;;;
invoke MessageBox , NULL, offset BUF, offset STRBUF, MB_OK
invoke ExitProcess, 0
end start
相关文章推荐
- Java 内存数据存储缓冲区虚拟实现
- 实现存储器块拷贝功能 ,将 16 个 4字节 的字数据从源地址 复制到目的地址
- 设备驱动中环形缓冲区数据存储和读写同步的实现
- 设备驱动中环形缓冲区数据存储和读写同步的实现
- 设备驱动中环形缓冲区数据存储和读写同步的实现
- 将str1缓冲区的50个字节数据按照相反的方向依次传送到存储区str2中
- 设备驱动中环形缓冲区数据存储和读写同步的实现[转自:http://hi.baidu.com/whandsome/blog/item/3834e32a9994692cd52af1f9.html]
- Android实现数据存储技术
- SQL Server 存储层级数据实现无限级分类
- 以字节为单位显示变量的内存存储数据
- 存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
- Java字节与字符流永久存储json数据
- PostGIS+QGIS+GeoServer+OpenLayers实现数据的存储、服务的发布以及地图的显示
- Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
- 实现千万级数据分页的存储过程!
- 如何在SharePoint2010中实现大数据存储(四步完成RBS解决方案)
- 转:WCF传送二进制流数据基本实现步骤详解
- 使用结构体实现数据的存储与输出
- ledisDB底层实现——本质上就是用leveldb这样的底层存储,和ssdb一样,meta里存的是hash、list等的元数据
- Python StringIO模块 实现在内存缓冲区中读写数据