鱼C论坛

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

很头大,16章节的例题也好,检测点也好,总是实验不成功!难道俺人品出了问题?

[复制链接]
发表于 2012-12-28 22:03:24 | 显示全部楼层 |阅读模式
5鱼币
这是书中例题,看了几遍了,调示了老久了,总不按当要求执行!虚拟机也是一样!就连鱼C的16写的原代码照搬都不行,甚至都不能编译通过。欲哭无泪也。
请大牛指点迷津啊!非常感激!
assume cs:code
code segment
start:
 jmp short subs
 table dw sub1,sub2,sub3,sub4
 
subs: mov al,3
  
  mov bl,al
  mov bh,0
  add bx,bx
  call word ptr table[bx]
  
  mov ax,4c00h
  int 21h
  
  
 
;==============子程序1,清屏============================
sub1: push bx
  push cx
  push es
  mov bx,0b800h
  mov es,bx
  mov cx,2000
  mov bx,0
  
sub1s: mov byte ptr es:[bx],' '
  add bx,2
  loop sub1s
  
  pop es
  pop cx
  pop bx
  ret
  
;================子程序2,设置前景色=========================
sub2: push bx
  push es
  
  mov bx,0b800h
  mov es,bx
  mov bx,1
  mov cx,2000
  
sub2s: mov byte ptr es:[bx],11111000b
  or es:[bx],al
  add bx,2
  loop sub2s
  
  pop es
  pop bx
  ret
  
;===============子程序3,设置背景色=============================
sub3: push bx
  push es
  push cx
  
  mov cl,4
  shl al,cl
    
  mov bx,0b800h
  mov es,bx
  mov bx,1
  mov cx,2000
sub3s: mov byte ptr es:[bx],00001111b
  or es:[bx],al
  add bx,2
  loop sub3s
  
  pop cx
  pop es
  pop bx
  ret
  
;==================子程序4,向上滚动一行==========================
sub4: push bx
  push es
  push di
  push si
  push cx  mov bx,0b800h
  mov es,bx
  mov ds,bx
  mov si,0
  mov di,160
  cld
  mov cx,24
  
sub4s: push cx
  mov cx,160  
  rep movsb
  loop sub4s
  
  mov cx,80
  mov si,0
  
sub4s1: mov byte ptr es:[si],' '
  add si,2
  loop sub4s1
  
  pop cx
  pop si
  pop di
  pop es
  pop bx
  ret 
  
  code ends
end start
 

最佳答案

查看完整内容

{:2_27:}你的程序有点问题哦。你是调用最后一项功能是吧。我帮你看了一下最后一项功能的程序。有点问题。改了两处,改后能正常运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-28 22:03:25 | 显示全部楼层
{:2_27:}你的程序有点问题哦。你是调用最后一项功能是吧。我帮你看了一下最后一项功能的程序。有点问题。 12.29.14.25.jpg 改了两处,改后能正常运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 10:37:55 | 显示全部楼层
第7行用了mov指令的话,不就只能跳到sub4了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-29 19:11:55 | 显示全部楼层
本帖最后由 lyoal 于 2012-12-29 19:15 编辑

:L,多谢各位指点,辛苦了。我发现我眼神有问题了。这些问题能能通单步调示找出来吗?
我写的代码中没有这两处错误,发出的那个是鱼C的代码。可能是故意设置的错误!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 21:56:24 | 显示全部楼层
lyoal 发表于 2012-12-29 19:11
,多谢各位指点,辛苦了。我发现我眼神有问题了。这些问题能能通单步调示找出来吗?
我写的代码中没有 ...

你程序能正常运行了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-30 21:16:26 | 显示全部楼层
lukelqz 发表于 2012-12-29 21:56
你程序能正常运行了吗

还是不行,就拿你修改后的代码编译能通过,但是无法正常运行,虚拟机中也是一样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-12-30 21:33:21 | 显示全部楼层
lyoal 发表于 2012-12-30 21:16
还是不行,就拿你修改后的代码编译能通过,但是无法正常运行,虚拟机中也是一样。

你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题,貌似都是运行出问题,而我这边却没问题哎~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-30 23:34:40 | 显示全部楼层
lukelqz 发表于 2012-12-30 21:33
你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题 ...

是啊,不过我先的实验都没问题的,到了后面章节的中断这几章就屡试不成功。可能就是我硬件环境的问题吧。我还是不要钻牛角尖了。继续走下去了
非常感谢luke的提点,俺一定要坚持下去。加油加油加油!:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-30 23:38:41 | 显示全部楼层
lukelqz 发表于 2012-12-30 21:33
你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题 ...

是啊,不过我先的实验都没问题的,到了后面章节的中断这几章就屡试不成功。可能就是我硬件环境的问题吧。我还是不要钻牛角尖了。继续走下去了
非常感谢luke的提点,俺一定要坚持下去。加油加油加油!:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-12-31 12:30:42 | 显示全部楼层
lyoal 发表于 2012-12-30 23:38
是啊,不过我先的实验都没问题的,到了后面章节的中断这几章就屡试不成功。可能就是我硬件环境的问题吧。 ...

往后走吧,看完16位的,去看32位的,后面有意思的多呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-31 21:02:44 | 显示全部楼层
lukelqz 发表于 2012-12-31 12:30
往后走吧,看完16位的,去看32位的,后面有意思的多呢。

:lol虽说,实验不成功,有点那XX,但总的来说还是蛮好玩儿的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-8 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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