首页
社区
课程
招聘
[旧帖] [求助]汇编问题,[bx]和loop的使用 0.00雪花
发表于: 2010-9-25 21:03 1056

[旧帖] [求助]汇编问题,[bx]和loop的使用 0.00雪花

2010-9-25 21:03
1056
问题:(1)编程,向内存0:200-0:23F依次传送数据0-63(3FH)
(2)编程,向内存0:200-0:23F依次传送数据0-63(3FH),程序中只能使用9条指令,9条指令包括“mov ax,4c00h”和“int 21h”。
(3)下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序,上机调试,跟踪运行结果。

assume cs:code
code segment
    mov ax,
    mov ds,ax
    mov ax,0020h
    mov es,ax
    mov bx,0
    mov cx,
s: mov al,[bx]
    mov es:[bx],al
    inc bx
    loop s
    mov ax,4c00h
    int 21h
code ends
ends
        

在网上找到了前两题的答案如下:

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

(2) 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和“int 21h”。

程序如下:

assume cs:codesg

codesg segment

     mov ax,0020h

     mov ds,ax

     mov bl,0

     mov cx,40h

s:   mov [bx],bl

     inc bl

     loop s

     mov ax,4c00h

     int 21h

codesg ends

end

我的问题是:  关于答案(1)为什么mov cx,40h?  向内存0:200-0:23F传送数据,不是要loop63次吗?为什么要设cx为40?
              关于答案(2),loop命令中,为什么突然冒出来一个[bx]?前面根本没有对bx赋值,此处的bx值是什么?而且只有inc bl,没有inc bx。

请高手帮忙解答一下以上的问题,非常感谢了!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//