注册 登录
编程论坛 汇编论坛

求助 王爽汇编 第五章 [bx] 和 loop 指令 实验4

hankbase008 发布于 2010-05-02 12:25, 2090 次点击
题目 是这样的
1 编程 向内存0:200~0:23f 一次传送数据 0~63(3fh)
2编程 向内存0:200~0:23f 一次传送数据 0~63(3fh)程勋中只能使用9条指令 9条指令包括 mov ax,4c00h 和 int 21h
第一题 答案 如下


(1) 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。

程序如下:

assume cs:codesg

codesg segment

     mov ax,0020h

     mov ds,ax

     mov bx,0

     mov dl,0

     mov cx,40h

s:   mov [bx],dl

     inc dl

     inc bx

     loop s

 

     mov ax,4c00h

     int 21h

 

codesg ends

end

 
这里 的 dl  什么意思 是 dx  里面的 低位 单元 dl 吗  他 的 作用 是什么啊  
 

6 回复
#2
hahayezhe2010-05-03 12:02
s:   mov [bx],dl

     inc dl

     inc bx

     loop s
这里的dl是8位寄存器 mov [bx],dl也就是说将数据以字节的形式移动到数据单元里
mov cx,40h 根据循环次数 就是将0-63数字依次 拷入到ds:[0] 到ds:[63]单元里
#3
2010-05-04 03:04
dl这里当做指针使用    dl是DX寄存器的低8位   能存一字节   

因为每次传输都是一字节
#4
fgchg9112010-05-09 15:27
  mov bx,0

     mov dl,0

     mov cx,40h
s:   mov [bx],dl

     inc dl

     inc bx

     loop s
用类c语言解释试试

c=0;
i=0;
cx=40h;
do
{
a[c]=i;
c++;
i++;
}while(cx!=0)

#5
fgchg9112010-05-09 15:29
这里应该可以化简
     mov bx,0
     mov cx,40h
s:   mov [bx],bx  
     inc bx
     loop s

#6
fgchg9112010-05-09 15:31
可以试着用c语言解释汇编,不一定要严格符和语法,借用c语言的代码结构看起来就要清楚些
#7
chenbao2010-07-13 17:36
学习
1