王爽汇编语言(第2版)实验4
(1) 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。
(2) 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4cooh”和“int 21h”。
- assume cs:code
- code segment
- mov ax,0020H
- mov ds,ax
- mov bx,0
- mov cx,64
- s:mov ds:[bx],bl ; bl存储低8位1字节数据
- inc bx
- loop s
- mov ax,4C00H
- int 21H
- code ends
- end
(3) 下面的程序功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。
- assume cs:code
- code segment
- mov ax,<span style="text-decoration: underline;">cs</span> ; CS存储的是代码段地址
- mov ds,ax
- mov ax,0020H
- mov es,ax ; 目标段地址存储在ES寄存器中
- mov bx,0
- mov cx,<span style="text-decoration: underline;">cx</span> ; CX存放的是程序的长度
- s:mov al,[bx]
- mov es:[bx],al
- inc bx
- loop s
- mov ax,4C00H
- int 21H
- code ends
- end

(1) 复制的是什么?从哪里到哪里?
答:复制的是代码的二进制数据,从CS:0到ES:0。
(2) 复制的是什么?有多少个字节?你如何知道要复制的字节的数量?
答:复制的是代码的二进制数据,有cx个字节,因为CX存放的是程序的长度。