标题:用汇编写了个小程序,结果却是ntvdm cpu 遇到无效的指令,怎么解决???急 ...
只看楼主
遗LOVE忘
Rank: 2
等 级:论坛游民
帖 子:9
专家分:11
注 册:2012-6-15
结帖率:50%
已结贴  问题点数:20 回复次数:8 
用汇编写了个小程序,结果却是ntvdm cpu 遇到无效的指令,怎么解决???急!!!!!
code segment
main proc far
    assume cs:code
     call SKIPLINES
    main endp
   
SKIPLINES proc near
      mov ax,5
A:
      mov dl,0dh
      mov ah,2
      int 21h
      mov dl,0ah
      mov ah,2
      int 21h
      dec ax
      jnz A
      ret
     SKIPLINES endp
code ends
    end main
   
搜索更多相关主题的帖子: cpu 
2012-12-17 18:50
x64asm
Rank: 2
来 自:X64ASM
等 级:论坛游民
威 望:1
帖 子:45
专家分:36
注 册:2010-5-20
得分:5 
你在保护模式下竟然尝试调用DOS中断,如何能够成功?

姓名:旖旎[x64asm]
QQ:6405035,6405038
2012-12-17 19:32
遗LOVE忘
Rank: 2
等 级:论坛游民
帖 子:9
专家分:11
注 册:2012-6-15
得分:0 
回复 2楼 x64asm
额,我只是个初学者,对你说的不是很懂,能说的详细点吗??或者说怎么改呢?
2012-12-17 19:37
x64asm
Rank: 2
来 自:X64ASM
等 级:论坛游民
威 望:1
帖 子:45
专家分:36
注 册:2010-5-20
得分:0 
对不起,本坛禁止各种作业,请您GOOGLE搜索之。

姓名:旖旎[x64asm]
QQ:6405035,6405038
2012-12-17 20:14
遗LOVE忘
Rank: 2
等 级:论坛游民
帖 子:9
专家分:11
注 册:2012-6-15
得分:0 
回复 4楼 x64asm
......这不是作业,郁闷了!!!!
2012-12-17 20:47
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
这个程序是典型的16位汇编代码

需要楼主在纯dos环境下、才有可能调试成功

DO IT YOURSELF !
2012-12-18 06:55
朱三哥
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:311
专家分:359
注 册:2012-12-11
得分:5 
程序代码:
code segment
main proc far
    assume cs:code
     call SKIPLINES     
     -----------------------------------------------------  >这个地方请增加子程序返回 功能 ret 这个是错误一      再这里请同学再次的学习下子程序设计部分的知识点
                                                             你的代码段绑定在子程序里面   你没有程序入口 这个是第二个错误 
                                                               main endp
   
SKIPLINES proc near
      mov ax,5
A:
      mov dl,0dh
      mov ah,2
      int 21h
      mov dl,0ah
      mov ah,2
      int 21h
      dec ax
      jnz A
      ret
     SKIPLINES endp
code ends
    end main   ----------------------》这个地方的 end main   这个地方的end 后面跟着的是个标号   代表程序的开始的地方 也就是相当于指定程序执行的入口作用
                                       而你这个地方却是个子程序的名字,这个是语法错误部分
   还请同学 从汇编语言编写框架开始 再次的学习下,模仿着写程序,您这个程序真心不知道您想干什么,糟糕透了,从这个程序来看,您连最基本的16位汇编门槛都没走进来 


16位汇编的  掌握好程序的编写规范 是很重要的,程序的编写规范是由编译器来指定的,所有您只有适应编译器的份,捏出这么个 自己脑袋里想出来的规则,在这问我错在哪了,是来找打的,只能说明您的学习态度很成问题,您一点编程基础都木有  就开始学汇编,会出人命的
还请学习C语言后 在折返回来学习汇编  这样对您会造成更小的信心打击


以上言辞是根据您发出来的代码 折射出的问题 该有的批评




[ 本帖最后由 朱三哥 于 2012-12-20 03:09 编辑 ]

哥,破你无线很难的,不要老是改,少看路由器上的灯,你会死啊
2012-12-20 03:04
x64asm
Rank: 2
来 自:X64ASM
等 级:论坛游民
威 望:1
帖 子:45
专家分:36
注 册:2010-5-20
得分:0 
以下是引用遗LOVE忘在2012-12-17 20:47:43的发言:

......这不是作业,郁闷了!!!!


不到十行代码就跑到坛子兴师动众的问,即使学过一天汇编的人也不至于如此罢,分明是作业狂人耳。

姓名:旖旎[x64asm]
QQ:6405035,6405038
2012-12-20 20:18
suijishu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:66
专家分:144
注 册:2012-12-1
得分:5 
以下是引用x64asm在2012-12-17 19:32:28的发言:

你在保护模式下竟然尝试调用DOS中断,如何能够成功?
你错了,他在控制台下虚拟的,没有问题
2012-12-20 21:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-391680-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.102324 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved