鱼C论坛

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

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

[复制链接]
发表于 2012-12-28 22:03:24 | 显示全部楼层 |阅读模式
5鱼币
这是书中例题,看了几遍了,调示了老久了,总不按当要求执行!虚拟机也是一样!就连鱼C的16写的原代码照搬都不行,甚至都不能编译通过。欲哭无泪也。
请大牛指点迷津啊!非常感激!
  1. assume cs:code
  2. code segment
  3. start:
  4. jmp short subs
  5. table dw sub1,sub2,sub3,sub4

  6. subs: mov al,3
  7.   
  8.   mov bl,al
  9.   mov bh,0
  10.   add bx,bx
  11.   call word ptr table[bx]
  12.   
  13.   mov ax,4c00h
  14.   int 21h
  15.   
  16.   

  17. ;==============子程序1,清屏============================
  18. sub1: push bx
  19.   push cx
  20.   push es
  21.   mov bx,0b800h
  22.   mov es,bx
  23.   mov cx,2000
  24.   mov bx,0
  25.   
  26. sub1s: mov byte ptr es:[bx],' '
  27.   add bx,2
  28.   loop sub1s
  29.   
  30.   pop es
  31.   pop cx
  32.   pop bx
  33.   ret
  34.   
  35. ;================子程序2,设置前景色=========================
  36. sub2: push bx
  37.   push es
  38.   
  39.   mov bx,0b800h
  40.   mov es,bx
  41.   mov bx,1
  42.   mov cx,2000
  43.   
  44. sub2s: mov byte ptr es:[bx],11111000b
  45.   or es:[bx],al
  46.   add bx,2
  47.   loop sub2s
  48.   
  49.   pop es
  50.   pop bx
  51.   ret
  52.   
  53. ;===============子程序3,设置背景色=============================
  54. sub3: push bx
  55.   push es
  56.   push cx
  57.   
  58.   mov cl,4
  59.   shl al,cl
  60.    
  61.   mov bx,0b800h
  62.   mov es,bx
  63.   mov bx,1
  64.   mov cx,2000
  65. sub3s: mov byte ptr es:[bx],00001111b
  66.   or es:[bx],al
  67.   add bx,2
  68.   loop sub3s
  69.   
  70.   pop cx
  71.   pop es
  72.   pop bx
  73.   ret
  74.   
  75. ;==================子程序4,向上滚动一行==========================
  76. sub4: push bx
  77.   push es
  78.   push di
  79.   push si
  80.   push cx  mov bx,0b800h
  81.   mov es,bx
  82.   mov ds,bx
  83.   mov si,0
  84.   mov di,160
  85.   cld
  86.   mov cx,24
  87.   
  88. sub4s: push cx
  89.   mov cx,160  
  90.   rep movsb
  91.   loop sub4s
  92.   
  93.   mov cx,80
  94.   mov si,0
  95.   
  96. sub4s1: mov byte ptr es:[si],' '
  97.   add si,2
  98.   loop sub4s1
  99.   
  100.   pop cx
  101.   pop si
  102.   pop di
  103.   pop es
  104.   pop bx
  105.   ret
  106.   
  107.   code ends
  108. end start
复制代码

最佳答案

查看完整内容

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

使用道具 举报

发表于 2012-12-29 10:37:55 | 显示全部楼层
第7行用了mov指令的话,不就只能跳到sub4了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

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

使用道具 举报

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

你程序能正常运行了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

还是不行,就拿你修改后的代码编译能通过,但是无法正常运行,虚拟机中也是一样。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题,貌似都是运行出问题,而我这边却没问题哎~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

往后走吧,看完16位的,去看32位的,后面有意思的多呢。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

:lol虽说,实验不成功,有点那XX,但总的来说还是蛮好玩儿的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 17:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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