开机中。。。 发表于 2011-6-12 17:58:59

实验4有2个小问题需要大家的指教

本帖最后由 开机中。。。 于 2011-6-17 15:32 编辑

我在这里要的是思路并不是答案,或者哪位大牛看我的答案后觉得我之前哪个知识点掌握的不好可以指正一下,谢谢


第一题我的答案:
assume cs:abc
abc segment

mov ax,0
mov ds,ax
mov bx,200h
mov dx,0
mov cx,64

s: mov dh,0
   mov ,dl
inc bx
inc dx
loop s

mov ax,4c00h
int 21h

abc ends
end

根据第一题的答案看第二题貌似不知道从何下手了,书上的要求只能用7条指令,我苦思半天不得其解

首先我觉得
   mov ax,0
mov ds,ax
mov bx,200h

mov cx,64
s:mov ,dl
    loop s

这6条应该是少不了吧,剩下那一条如何写呢



第三题,可能我还是不能理解作者的用意,
1,复制的是什么
这个问题问的不知所云,应该是地址对应的数据吧



曾经有此困惑的朋友麻烦帮分析一下,谢谢

小甲鱼 发表于 2011-6-13 10:20:41

第二题:

   mov ax,0020h

   mov ds,ax

   mov bx,0

   mov cx,40h

s:   mov ,bx

   inc bl

   loop s


第三题:
assume cs:code

code segment

   mov ax,code;code为所填写的数据

   mov ds,ax

   mov ax,0020h

   mov es,ax



   mov bx,0

   mov cx,18h   ;18h为所填写的数据

s:   mov al,

   mov es:,al

   inc bx

   loop s



   mov ax,4c00h

   int 21h

code ends

end

开机中。。。 发表于 2011-6-13 12:28:10

本帖最后由 开机中。。。 于 2011-6-13 12:30 编辑

小甲鱼 发表于 2011-6-13 10:20 http://bbs.fishc.com/static/image/common/back.gif
第二题:




高,实在是高{:5_106:}看来还是基础不牢靠

物理地址=段地址*16+偏移地址

也就是说不管怎样只要物理地址结果是一样的,那么段地址和偏移地址怎么组合都可以   

最绝的的竟然可以只用一个变量就精简了几行指令,强悍


就是那个mov cx,40h还不是很清楚,需要自己在摸索一下


学习了,谢谢啦

开机中。。。 发表于 2011-6-13 12:33:21

额 ,40h原来是十六进制的,转换为十进制就是64,这里写成十六进制的40h有什么用意?

开机中。。。 发表于 2011-6-13 12:50:10

第三题,真正的受教了,原来一个标号也可以作为一个段地址,刚看到mov ax,code我以为是看花眼了,又重新翻书到第三章查找,貌似mov 寄存器,寄存器(或数据)(或内存单元)怎么会出现一个变量名呢,后来才发现code是标号,然后又翻书到第四章查找,书上的的确确写的有‘最为一个段的名称,这个段的名称最终将被编译,连接程序处理为一个段的段地址’,受教了,谢谢啦
页: [1]
查看完整版本: 实验4有2个小问题需要大家的指教