这个程序是不是有错误?mov ss:[bx],al这样可以吗?
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
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov bx,0
mov cx,8
s:mov ah,0
mov al,ds:
add al,es:
mov ss:,al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start mov ss:,al 应该没有问题 一般用mov ,al
默认应该就是 栈段 没错,这样可以 c不能做段名。换个名字吧 指令格式正确 a 是什么 b是什么? c是什么:虽然我们知道a是数据 c是栈可是你在前面都不声明就使用肯定错误了 assume cs:code ds:a ss:c es:b:dizzy: 除了cs段,虽然别的段可以不进行assume,但建议还是尽量声明下,比较清楚,楼主程序没什么错,就是c做段名会报错,改下应该可以运行的 应该会报警 但不报错 因为栈只能进行字操作
页:
[1]