- [anwu00] 写反了,最小为1001H,最大为2000H 05/10 11:04
- [crazyman] 博主确实好久不见了。 这里是一个开始,希望更多人都能从这里明确方向,开始自己的计算机之路。 08/16 14:55
- [游客] 你那个循环3FH错了 应该是循环40H 因为是添入0-63 就是添64次 08/02 17:27
- [游客] 我猜是因为2000:0000这段是给当成了一段栈寄存器使用了 所以一些数据会往里写入 写入的数据有的 07/29 23:00
- [游客] 2^N=寻址能力 N是总线宽度 算出的能力是B为单位 比如宽度13的CPU 2^13=8192 07/29 22:56
- [游客] 恩,有道理 04/08 12:25
- [atel] 那主程序我测试过的,可以显示的.但是加载到了软盘就不行了. 04/06 22:36
- [wdm] 没有错误啊。 我试了,运行ok的! 04/06 18:17
- [wdm] 说明程序还是有问题哟。 建议你一点一点的来做,先做一显示功能选项的界面吧。 然后在一点点的进行功 04/06 18:10
- [atel] 有什么错误? 04/04 21:33
[2008-03-06 17:12] 第五章实验任务
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov ds:[0],0
mov ds:[1],1
…
…
mov ds:[3f],3fh
mov ax,4c00h
int 21h
code ends
end
<2>编程,向内存0:200-0:23F依次传送数据0-63(3FH),程序中只能使用9条指令,其中包括"mov ax,4c00h"和"int 21h".
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0
(mov cx,3fh) ;大意所致,惭愧.
s: mov [bx],bx
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,0b44h
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,22
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
[ 游客 发表于 2008-03-06 21:34 ]
<1> 编程,向内存0:200-0:23F依次传送数据0-63(3FH).
-------------
你是江湖我大哥!!!
用loop循环行不行啊。。
[ 游客 发表于 2008-03-06 21:37 ]
尽跟我们开玩笑。呵呵
[ 游客 发表于 2008-03-06 21:38 ]
<2>编程,向内存0:200-0:23F依次传送数据0-63(3FH),程序中只能使用9条指令,其中包
--------------------
程序中有问题,你可以自己运行一下程序看看,你的loop什么时候结束啊??
[ 游客 发表于 2008-03-06 21:41 ]
<3>下面的程序的功能将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序.上机调试
--------------
这个题目中还有另一个写法,不知道楼主考虑过
mov ax,cs
....
mov cx,23
这个写法的关键是第一个空的写法,有时候直接传送cs能帮助你解决一些操作当前代码段数据的问题。
[ atel 发表于 2008-03-07 10:12 ]
谢谢大家的意见。我会改正的。
[ 游客 发表于 2008-08-02 17:27 ]
你那个循环3FH错了 应该是循环40H
因为是添入0-63 就是添64次