我的程序那里有错啊?请大虾指教

bbm250 2003-04-19 01:03:27
我的程序是用来输入一个字符串,然后输出。
可是编译没有错误,执行是弹出一个窗口说CPU遇到无效指令
请问那里有错啊?
data segment
inbuffer db 21
db ?
db 21 dup(?)
db '$'
data ends

code segment
main proc far
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax

lea dx,inbuffer
mov ah,0ah
int 21h

mov dl,0ah
mov ah,2h
int 21h

lea dx,inbuffer+2
mov ah,09h
int 21h
ret
main endp
code ends
end start
...全文
22 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lowes 2003-04-26
  • 打赏
  • 举报
回复
可以在mov ax,data前加上:
push ds
mov ax,0
push ax
那也可以运行
bbm250 2003-04-25
  • 打赏
  • 举报
回复
谢了
我知道了
pig_liang 2003-04-19
  • 打赏
  • 举报
回复
对了,是有一个地方错了。
在code ends前加上:
mov ah,4ch
int 21h
那就再也不会有什么问题了。
main proc far和main endp完全没必要用
pig_liang 2003-04-19
  • 打赏
  • 举报
回复
没有阿,刚才我调试了没问题

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧