汇编实验四

1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H。 

源代码为

assume cs:code
code segment
mov dx, 0b800h
mov ds, dx
mov bx, 07b8h

mov cx, 16
s: mov [bx], 0403h
loop s

mov ax, 4c00h
int 21h
code ends
end

接着同样的操作。查看内存单元

为什么不是0403。。自己查不出来。

(2)写入代码

assume cs:code
code segment
mov ax, 0020h
mov ds, ax
mov bx, 0

mov cx, 64
s: mov [bx], bx
inc bx
loop s

mov ax, 4c00h
int 21h
code ends
end

编译,链接

debug调试,反汇编,单步执行

 

查看程序运行后的内存单元

 

(3)代码

assume cs:code
code segment
mov ax, cs
mov ds, ax
mov ax, 0020h
mov es, ax
mov bx, 0

mov cx, 17h
s: mov al, [bx]
mov es:[bx], al
inc bx
loop s

mov ax, 4c00h
int 21h
code ends
end

编译,链接,debug

由题要 将mov ax, 4c00h之前的指令复制到内存中 所以第二空填17h

第一空是因为复制指令

总结:loop和[bx]的组合可以实现很多复杂的操作,loop的循环槽操作也是非常的方便滴。

posted on 2018-11-18 20:33  Mr.Blues  阅读(131)  评论(0)    收藏  举报