汇编:将指定的内存中连续N个字节填写成指定的内容
1.loop指令实现
1 ;=============================== 2 ;循环程序设计 3 ;将制定内存中连续count个字节填写成指定内容(te) 4 ;loop指令实现 5 DATAS SEGMENT 6 string db 'a test string','$' 7 te dw 'Q' ;用于替换的字符(字) 8 ; te db 'Q' ;用于替换的字符(字节) 9 count db 5 ;连续5个字节 10 DATAS ends 11 CODES SEGMENT 12 ASSUME CS:CODES, DS:DATAS 13 START: 14 mov AX,DATAS 15 mov DS,AX 16 17 xor cx,cx 18 xor ax,ax 19 mov si,offset string 20 ; mov al,te ;(字节) 21 mov ax,te ;用于替换的字符放入按下中 22 mov cl,count;设置循环次数 23 lp: 24 ; mov [si],Al 25 ; inc si ;(字节) 26 mov [si],Ax ;替换原内容 27 add si,2 ;带操作的内存的偏移地址增加 28 loop lp 29 print: 30 lea dx,string 31 mov ah,09H 32 int 21h 33 34 exit: 35 mov ah,4ch 36 int 21H 37 CODES ends 38 end START
2.条件转移指令
1 ;=============================== 2 ;循环程序设计 3 ;将制定内存中连续count个字节填写成指定内容(te) 4 ;条件转移指令实现 5 DATAS SEGMENT 6 string db 'a test string','$' 7 te db 'Q' ;用于替换的字符 8 count db 5 ;连续5个字节 9 DATAS ends 10 CODES SEGMENT 11 ASSUME CS:CODES, DS:DATAS 12 START: 13 mov AX,DATAS 14 mov DS,AX 15 16 xor cx,cx 17 xor ax,ax 18 mov si,offset string 19 mov al,te 20 mov cl,count 21 flag: 22 mov [si],al 23 inc si ;si自增1 24 dec cl ;cl自减1 25 cmp cl,00h 26 ja flag ;cl大于0跳转 27 print: 28 lea dx,string 29 mov ah,09H 30 int 21h 31 32 exit: 33 mov ah,4ch 34 int 21H 35 CODES ends 36 end START
"你的指尖,拥有改变世界的力量! "
欢迎关注我的个人博客:https://sugarat.top
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧