就是要努力呀 发表于 2020-4-2 19:30:33

实验4

1,2:
assume cs:code

code segment

start:
                mov ax, 0000h
                mov ds, ax
                mov bx, 0200h
               
                mov cx, 64
                s:
                        mov , bx
                       
                        inc bx
                loop s
               
                mov ax, 4c00h
                int 21h
code ends

end start

3:
assume cs:code

code segment

        mov ax, cs
        mov ds, ax
        mov ax, 0020h
        mov es, ax
        mov bx, 0
       
        mov cx, 23
        s:
                mov al,
                mov es:, al
               
                inc bx
        loop s

        mov ax, 4c00h
        int 21h

code ends

end

1.复制的是 从mov ax, 4c00h之前到mov ax, cs 这段代码的机器码
2.通过debug调试知道整个程序大小为28字节, mov ax, 4c00h 和 int 21h 共占5字节 所以 (cx) = 28 - 5 = 23

justknow123 发表于 2021-1-4 16:35:45

第一题有问题的吧,bx的值是200 201 202 203.。。。。。

题目要求的是将0-63放进目标地址

应该先把ds的段地址设置成20H

然后bx既能当偏移地址,又能当成要放进去的数0-63

ddhssh 发表于 2021-2-4 21:59:34

本帖最后由 ddhssh 于 2021-2-4 22:01 编辑

为什么我低3题cx=17才复制成功

sos2356 发表于 2021-2-7 15:20:36

第一题错误比较多
assume cs:code

code segment

start:        mov ax,20H   ds的段地址是20H,不是0H
                mov ds,ax
                mov bx,0
               
                mov cx,64
        s:        mov ,bl      ds: 是一个字节数据,不能吧bx 中的一个字放进去
                inc bx
                loop s
               
                mov ax,4c00H
                int 21H
code ends

end start
页: [1]
查看完整版本: 实验4