汇编:将指定的内存中连续N个字节填写成指定的内容
2024-10-19 00:20:33
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
最新文章
- Ibatis.net总是报:【ExecuteStoreCommand SqlParameterCollection 中已包含 SqlParameter】(转)
- jsp系统时间和时间对比(活动结束不结束)
- [安卓]Android窗口、视图、布局
- C# Bitmap类型与Byte[]类型相互转化
- Subgradient Algorithm
- 【读书笔记《Android游戏编程之从零开始》】20.游戏开发基础(游戏数据存储)
- LeetCode:Single Number II
- 团队项目计划backlog
- Android项目——短信发送器
- 基于MFC的Opengl实现动画
- Logback 简单使用
- jquery click事件的可选参数data的作用
- 一个简单的DDraw应用程序
- 筛1-n中每个数的因子(nlogn)
- ideadpad-安装win7
- bzoj 2594: [Wc2006]水管局长数据加强版 动态树
- Windows平台内核级文件访问
- jquery datatables api (转)
- highcharts 去掉打印和链接
- MAC中使用Vim和GCC编译C程序