鱼C论坛

 找回密码
 立即注册
查看: 3101|回复: 10

为什么我写的代码有些要重启计算机后才能达到我的预期效果啊

[复制链接]
发表于 2013-5-31 15:25:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 2548827329 于 2013-6-15 00:52 编辑

首先说一下,这个是实验11的代码,要实现大小写转换,为了能知道到底转换了没,我就想把那些经过转换的字符显示在屏幕上来验证自己的思路是不是对的,用masm6.15编译(可以编译),执行后屏幕上什么也没有,我就想可能是代码有问题,看了几遍感觉没问题,于是重编译执行,屏幕上还是什么也没有,后来我关机重启了一下,再编译执行,屏幕出现了我预期的效果,想问一下这是什么原因?为什么重启后就达到了预期的效果?有什么办法不重启达到预期效果呢?
  1. assume cs:code
  2. data segment
  3.      db"Beginner's All-purpose Symbolic Instruction Code.",0
  4. data ends
  5. code segment
  6. begin:
  7.      mov ax,data
  8.          mov ds,ax
  9.          mov si,0
  10.          call letterc
  11.          
  12.          mov ax,0b800h
  13.          mov es,ax
  14.          mov di,720h
  15.         
  16. s0:  
  17.      mov ch,0
  18.          mov cl,[si]
  19.          jcxz s1   
  20.          mov es:[di],cl
  21.          mov ah,01000010b
  22.          mov es:[di+1],ah
  23.          inc si
  24.          inc cx
  25.          add di,2
  26.          loop s0
  27. s1:         
  28.          mov ax,4c00h
  29.          int 21h
  30. letterc:   
  31.      push ax
  32.          push si
  33. s:
  34.      mov ch,0
  35.          mov cl,[si]
  36.          jcxz s4
  37.      cmp cl,61h
  38.          jb s3
  39.          cmp cl,7ah
  40.          ja s3
  41.          sub cl,20h
  42.          mov [si],cl
  43. s3:         inc si
  44.      inc cx
  45.      loop s
  46. s4:         
  47.      pop si
  48.          pop ax
  49.          ret
  50. code ends
  51. end begin
复制代码

最佳答案:http://bbs.fishc.com/forum.php?m ... 285&pid=1060966
K4[%JKWZNT3%@H}2U~(965B.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-13 14:44:14 | 显示全部楼层
是在CMD下还是COMMAND下运行的?我想COMMAND下不会出错。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-13 14:48:07 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-13 14:50:03 | 显示全部楼层
2548827329 发表于 2013-6-13 14:48
cmd下运行的,两者有什么区别吗

CMD是32位的,运行16位程序经常会出现莫名其妙的错误~而COMMAND是16位的,完美支持16位程序
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-14 00:08:03 | 显示全部楼层
s0512 发表于 2013-6-13 14:50
CMD是32位的,运行16位程序经常会出现莫名其妙的错误~而COMMAND是16位的,完美支持16位程序

谢谢解答,我以后在运行command试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-14 01:08:21 | 显示全部楼层
2548827329 发表于 2013-6-14 00:08
谢谢解答,我以后在运行command试试

有结果请反馈一下

评分

参与人数 1鱼币 +3 收起 理由
2548827329 + 3 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-14 19:16:15 | 显示全部楼层
s0512 发表于 2013-6-14 01:08
有结果请反馈一下

使用command可以得到预想的结果,谢谢你的解答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-14 21:25:50 | 显示全部楼层
2548827329 发表于 2013-6-14 19:16
使用command可以得到预想的结果,谢谢你的解答

那请设最佳答案吧!!谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-15 00:49:43 | 显示全部楼层
s0512 发表于 2013-6-14 21:25
那请设最佳答案吧!!谢谢!

不知道怎么设置诶
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-15 10:13:15 | 显示全部楼层
2548827329 发表于 2013-6-15 00:49
不知道怎么设置诶

TM截图20130615101303.png

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-15 12:21:22 | 显示全部楼层

没有那个选项啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-5 08:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表