trump 发表于 2014-6-23 22:56:22

实验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]
查看完整版本: 实验4 [bx]和loop的使用