为何编译不通过?
assume cs:codea 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
d segment
db 0,0,0,0,0,0,0,0
d ends
code segment
start: mov al,0
mov bl,0
mov dl,16
s: add al,
mov ,al
inc bl
inc dl
loop s
mov ax,4c00h
int 21h
code ends
end start
为什么红色那行编译通不过呢?
红头发 发表于 2013-8-10 15:02 static/image/common/back.gif
还是不行啊,我直接进debug打代码,发现可能是 和有区别,难道是只有【bx】才能代表偏移地址??
如果是ds 为段地址的话 就只能是BX
依旧申请最佳
s: add al, ;偏移地址只能使用16位寄存器来保存不能用8位寄存器来指定偏移地址
mov ,alCPU内部寻址方式,16位段地址+16位偏移地址=20位物理地址
你使用了一个8位的寄存器来指定偏移地址,进行内存地址的寻址这是肯定会报错的
本帖最后由 红头发 于 2013-8-10 09:58 编辑
小咒 发表于 2013-8-10 03:29 static/image/common/back.gif
CPU内部寻址方式,16位段地址+16位偏移地址=20位物理地址
你使用了一个8位的寄存器来指定偏移地址,进行内 ...
assume cs: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
d segment
db 0,0,0,0,0,0,0,0
d ends
code segment
start: mov ax,cs mov ds,ax
mov bx,0
mov dx,16
s: add al,
mov ,al
inc bx
inc dx
loop s
mov ax,4c00h
int 21h
code ends
end start
改成这样后为什么红色这句还是错的呢?
红头发 发表于 2013-8-10 09:36 static/image/common/back.gif
assume cs:code
a segment
物理地址是 段地址:偏移地址啊
20为 16位 16位
al 是8位的啊 所以就算 mov,al dx还是相当于8位的啊
al 改成 ax试试吧
如果成功申请最佳啊
mov ah,0
add al,
mov ,ax
inc bx
inc dx
loop s
牡丹花下死做鬼 发表于 2013-8-10 10:57 static/image/common/back.gif
物理地址是 段地址:偏移地址啊
20为 16位 16位
al 是8位的啊 所以就算 mov,al dx ...
还是不行啊,我直接进debug打代码,发现可能是 和有区别,难道是只有【bx】才能代表偏移地址?? liangivws 发表于 2013-8-10 12:55 static/image/common/back.gif
mov ah,0
add al,
mov ,ax
不行啊。。。 如果是CMD窗口下可以不用bx可以直接[一个数值] 但是文本下编写 必须用bx 也就是 而你的是个啊 文本下,每个寄存器搜有特殊意义的,例如,寻址时,bx代表偏移,循环时,cx代表次数,你不要乱用哦 1236 发表于 2013-8-10 15:07 static/image/common/back.gif
文本下,每个寄存器搜有特殊意义的,例如,寻址时,bx代表偏移,循环时,cx代表次数,你不要乱用哦
嗯,谢谢啦~ 牡丹花下死做鬼 发表于 2013-8-10 15:06 static/image/common/back.gif
如果是ds 为段地址的话 就只能是BX
依旧申请最佳
嗯,看来我前面的课还是没学好,复习复习! 牡丹花下死做鬼 发表于 2013-8-10 15:06 static/image/common/back.gif
如果是ds 为段地址的话 就只能是BX
依旧申请最佳
嗯,看来我前面的课还是没学好,复习复习! 红头发 发表于 2013-8-10 15:02 static/image/common/back.gif
还是不行啊,我直接进debug打代码,发现可能是 和有区别,难道是只有【bx】才能代表偏移地址??
不知道你学习到哪里了,可能还没学习到后面吧
先和你说一下
8086CPU中bx,bp,si,di只有这4个寄存器可以用在[..]中来进行内存单元的寻址
但是这4个寄存器只能以4种组合出现,
bp的默认寄存器是在ss而不是在ds,所以可以理解为bp与sp是相同的 小咒 发表于 2013-8-10 16:38 static/image/common/back.gif
不知道你学习到哪里了,可能还没学习到后面吧
先和你说一下
嗯,还没看到后面,请问你是用几天学习完汇编的,我觉的自己的进度很慢。。 红头发 发表于 2013-8-10 16:43 static/image/common/back.gif
嗯,还没看到后面,请问你是用几天学习完汇编的,我觉的自己的进度很慢。。
学无止尽,王爽的书还没学完我也才学习到第十章
目前学习了20天了不是每天在学的。。 小咒 发表于 2013-8-10 16:53 static/image/common/back.gif
学无止尽,王爽的书还没学完我也才学习到第十章
目前学习了20天了不是每天在学的。。
嗯,谢谢啦~ 看看楼主学习
页:
[1]