首页 > 代码库 > 汇编试验四:[bx] 和 loop 的使用
汇编试验四:[bx] 和 loop 的使用
预备知识:
段前缀的使用;
ffff:0~ffff:b 和 0020:0~0020:b 的数据;
一次循环的复制效果:
但是,这种方式DS的数据得修改;
Source Code:
assume cs:codecode segment mov bx,0 mov cx,12s: mov ax,0ffffH mov ds,ax mov dl,[bx] mov ax,0020H mov ds,ax mov [bx],dl inc bx loop s mov ax,4c00H int 21Hcode endsend
于是,可以用两个段寄存器存放两个段地址;
(原始数据)
Source Code:
assume cs:codecode segment mov ax,0ffffH mov ds,ax ;段地址 mov ax,0020H mov es,ax ;段地址 mov bx,0 ;偏移地址 mov cx,12s: mov dl,[bx] ;默认ds,bx数据段 mov es:[bx],dl inc bx loop s mov ax,4c00H int 21Hcode endsend
试验任务:
将0020:0~0020:f 放 0~63
原始数据:
效果如图;
Source Code:
assume cs:codecode segment mov ax,0020H mov ds,ax mov bx,0 mov cx,64s: mov [bx],bx inc bx loop s mov ax,4c00H int 21Hcode endsend
试验任务2:将代码段里面的数据放到0020:0h处;
先找出loop 前的指令编号是0015,就是从0000~0016 共23个长度;
效果如图:
成功将指令机器码放到指定位置;
Source Code:
assume cs:codecode segment mov ax,cs mov ds,ax mov ax,0020H mov es,ax mov bx,0 mov cx,23s: mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00H int 21Hcode endsend
汇编试验四:[bx] 和 loop 的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。