实验5 第5题
本帖最后由 loop 于 2011-5-21 12:40 编辑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
m segment
db 0,0,0,0,0,0,0,0
m ends
code segment
start:mov ax, a
mov ds,ax
mov ax,m
mov es,ax
mov bx,0
mov cx,8
s: mov dl,
mov es:,dl
inc bx
loop s
mov ax,b
mov ds,ax
mov bx,0
mov cx,8
t: mov dl,
add es:,dl
inc bx
loop t
mov ax,4c00h
int 21h
code ends
end start如果第三个段用c做标号就会在编译的时候出错,而换成m做标号就没问题了,这是为什么,而且在assume伪指令中我们对a,b段没有指定相应的段寄存器,也没什么错误,那么如果我们也不指定code段,也可以吗? 呵呵 a,b,m段为数据段 数据段可以不直接与DS挂钩 但是代码段不行 具现在所学的知识所知如果不实现把代码段与CS挂钩那么编译不过去就算过去了,寄存器CS:IP指向的并不是我们想要执行的程序
(呃…那个C段用标号C没问题啊!我的编译器能通过!你的是什么版本的?我的是masm5.0)
试试换个版本的编译器!
祝你成功! 回复 Y.H 的帖子
谢谢了,我的是masm6.15的,难道是版本的问题? 回复 wen_hu 的帖子
很感谢你 是编译器的问题 我也换用5.0的
页:
[1]