汇编实验四
(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
编译连接,运行程序t3
debug跟踪程序运行,查看程序
但是最后结果和要求的不一样的,我不会,改不出来。
(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
编译连接:
第一空是因为复制指令
第二空由题要将mov ax, 4c00h之前的指令复制到内存中 ,所以填17h
实验总结:
loop作为循环操作,和【bx】组合后的指令有多种用法,但还是有很多知识点很模糊,不清楚,这一章之后还要花时间继续学习。