实验4 [bx]和loop的使用
(1) 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。assume cs:codesg
codesg segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h
s:mov ds:,bl
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end
(2) 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令包括"mov ax,4c00h"和"int 21h"。
见上题答案
(3) 下面的程序功能是将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。
assume cs:codesg
codesg segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,23
s:mov al,ds:
mov es:,al
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end如何知道要复制的字节的数量,先补全程序为"mov cx,22"(其中22为粗略估算值)。masm&link&debug该程序
可以看到"mov ax,4c00"地址为076A:0017,则复制的字节范围为0~16H,即23。
页:
[1]