1.loop指令实现

 ;===============================
;循环程序设计
;将制定内存中连续count个字节填写成指定内容(te)
;loop指令实现
DATAS SEGMENT
string db 'a test string','$'
te dw 'Q' ;用于替换的字符(字)
; te db 'Q' ;用于替换的字符(字节)
count db ;连续5个字节
DATAS ends
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
mov AX,DATAS
mov DS,AX xor cx,cx
xor ax,ax
mov si,offset string
; mov al,te ;(字节)
mov ax,te ;用于替换的字符放入按下中
mov cl,count;设置循环次数
lp:
; mov [si],Al
; inc si ;(字节)
mov [si],Ax ;替换原内容
add si, ;带操作的内存的偏移地址增加
loop lp
print:
lea dx,string
mov ah,09H
int 21h exit:
mov ah,4ch
int 21H
CODES ends
end START

2.条件转移指令

 ;===============================
;循环程序设计
;将制定内存中连续count个字节填写成指定内容(te)
;条件转移指令实现
DATAS SEGMENT
string db 'a test string','$'
te db 'Q' ;用于替换的字符
count db ;连续5个字节
DATAS ends
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
mov AX,DATAS
mov DS,AX xor cx,cx
xor ax,ax
mov si,offset string
mov al,te
mov cl,count
flag:
mov [si],al
inc si ;si自增1
dec cl ;cl自减1
cmp cl,00h
ja flag ;cl大于0跳转
print:
lea dx,string
mov ah,09H
int 21h exit:
mov ah,4ch
int 21H
CODES ends
end START

汇编:将指定的内存中连续N个字节填写成指定的内容的更多相关文章

  1. long类型在内存中占8个字节,float类型在内存中占4个字节,为什么long还要比float小呢?

    结论:数值范围大小和占用的字节没有关系. float类型的范围: 负数:-3.402823E38~-1.401298E-45 整数:0 正数:1.401298E-45~3.402823E38 long ...

  2. java:从指定问价中读取80个字节写入指定文件中

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class F ...

  3. 网络采集软件核心技术剖析系列(5)---将任意博主的全部博文下载到内存中并通过Webbrower显示(将之前的内容综合到一起)

    一 本系列随笔概览及产生的背景 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件 ...

  4. C++内存中的封装、继承、多态(上)

    C++内存中的封装.继承.多态(上) 继我的上一篇文章:浅谈学习C++时用到的[封装继承多态]三个概念 此篇我们从C++对象内存布局和构造过程来具体分析C++中的封装.继承.多态. 一.封装模型的内存 ...

  5. 使用程序获取整型数据和浮点型数据在内存中的表示---gyy整理

    使用程序获取整型数据和浮点型数据在内存中的表示. C++中整型(int).短整型(short int).单精度浮点数(float).双精度浮点数(double)在内存中所占字节数不同,因此取值范围也不 ...

  6. 数据在内存中的存储方式( Big Endian和Little Endian的区别 )(x86系列则采用little endian方式存储数据)

    https://www.cnblogs.com/renyuan/archive/2013/05/26/3099766.html 1.故事的起源 “endian”这个词出自<格列佛游记>.小 ...

  7. FFmpeg 如何探测网络流格式/如何从内存中获取数据

    文章转自:http://blog.csdn.net/rootusers/article/details/42551935 一般ffmpeg都是直接从文件中读取或者从网络流中读取,比如rtp://xx. ...

  8. c语言中float、double、long double在内存中存储方式

    存储格式中的二机制转为浮点数: 浮点型变量在计算机内存中占用4个字节(4 Byte),即32-bit,一个浮点数由2部分组成:底数m  和 指数e: 底数部分:使用2进制数来表示此浮点数的实际值: 指 ...

  9. C语言结构体在内存中的存储情况探究------内存对齐

    条件(先看一下各个基本类型都占几个字节): void size_(){ printf("char类型:%d\n", sizeof(char)); printf("int类 ...

随机推荐

  1. 关于React的生命周期的解释

    ---恢复内容开始--- ---恢复内容结束---

  2. Oracle运行依赖的服务

    1.Oracle ORCL VSS Writer Service. Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等) ...

  3. android,Exoplayer实现视频播放器

    bundle配置: implementation 'com.google.android.exoplayer:exoplayer-core:2.8.1'implementation 'com.goog ...

  4. mybooklist.cn 书单de故事六月十六日

    1.我的30年30本书 刘苏里书单北京万圣书园总经理,以经营人文社科类图书著称.生于1960年,1983年毕业于北京大学国际政治系,1986年毕业于中国政法大学研究生院.

  5. Appium 如何模拟返回按键

    from appium.webdriver import Remote driver.keyevent(4) python中点击返回键是这样写的 附录 keycode 电话键 KEYCODE_CALL ...

  6. 使用 richtextbox 输出程序运行信息

    private delegate void Refresh_CallBack(Color color,string text); private void ControlsRefresh(Color ...

  7. log4go的一些改进设想

    log4go 的 4.0.2 版本(https://github.com/ccpaging/log4go/tree/4.0.2)发布以后, 看了看别的 go 语言日志文件设计.发现了一篇好文: log ...

  8. 为什么ssh一关闭,程序就不再运行了?

    问题描述 当SSH远程连接到服务器上,然后运行一个程序,eg: ./test.sh, 然后把终端开闭(切断SSH连接)之后,发现该程序中断. 原因 主要元凶: 挂断信号(SIGHUP) 信号 概念介绍 ...

  9. IOS 社交分享

    #import <Social/Social.h> @interface HMViewController () @end @implementation HMViewController ...

  10. 细说new与malloc的10点区别(转载)

    原地址https://www.cnblogs.com/QG-whz/p/5140930.html#_label1_0 new与malloc的10点区别 1. 申请的内存所在位置 new操作符从自由存储 ...