第六章实验5-5 请问可以这样写吗? 会不会有问题啊?
本帖最后由 88961750 于 2013-8-25 13:41 编辑还请各位大大帮忙看一下谢谢!
assumecs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov al,a
mov ds,al
mov al,b
mov es,al
mov al,c
mov ss,al
mov sp,9
mov bx,8
mov cx,8
s:add ds:,es:
mov al,ds:
push al
sub bx,1
loop s
code ends
end start
第一 无法以C来命名
c segment 不能以C来命名的
mov al,a这里的A是什么?还有后面的mov al,b move al,c都是什么东西?
mov ds,al这里ds一个16位寄存器你把8位的寄存器值怎么给ds
错的太多了。。这是楼主自己写的吗?
mov al,a
mov ds,al
用ds: 访问 a 段中的数据啊!王爽书上 是这样教的是我自己写的 ds 不是数据段的段地址吗? 这个 csegmentc不是我命名的是书上的实验题目 给出的 88961750 发表于 2013-8-25 14:30 static/image/common/back.gif
mov al,a
mov ds,al
这个。。我想问楼主是不是跳着学的
mov al,a,定义段地址,段地址是16位的,al寄存器是8位的怎么放的下段地址呢?
mov ds,al,这里ds一个16位寄存器你把8位的寄存器值怎么给ds
add ds:,es:,add指令是不可以这样用的
push al,入栈指令只压入一个字也就是16位,al是8位
额我再去修改下看看主要很多知识混淆了! 88961750 发表于 2013-8-25 15:00 static/image/common/back.gif
额我再去修改下看看主要很多知识混淆了!
学编程千万不要急,一个知识点打扎实了,再进入下一个知识点,不然很容易现在学的记住了,上一课的又忘记了,还有不管什么课题与实验,能自己打先自己打出来,就算出错也没关系,至少到最后你理解了我错在哪里,为什么会错等等。。。
另外像这些代码,你应该先自己放到编译器去编译一下,肯定会报错的。 恩恩 是滴受教了 要一步一个脚印的学习! 学习学习再学习
页:
[1]