lyoal 发表于 2012-12-28 22:03:24

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

这是书中例题,看了几遍了,调示了老久了,总不按当要求执行!虚拟机也是一样!就连鱼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

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:,' '
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:,11111000b
or es:,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:,00001111b
or es:,al
add bx,2
loop sub3s

pop cx
pop es
pop bx
ret

;==================子程序4,向上滚动一行==========================
sub4: push bx
push es
push di
push si
push cxmov 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:,' '
add si,2
loop sub4s1

pop cx
pop si
pop di
pop es
pop bx
ret

code ends
end start

lukelqz 发表于 2012-12-28 22:03:25

{:2_27:}你的程序有点问题哦。你是调用最后一项功能是吧。我帮你看了一下最后一项功能的程序。有点问题。改了两处,改后能正常运行了。

ycg 发表于 2012-12-29 10:37:55

第7行用了mov指令的话,不就只能跳到sub4了吗?

lyoal 发表于 2012-12-29 19:11:55

本帖最后由 lyoal 于 2012-12-29 19:15 编辑

lukelqz 发表于 2012-12-29 14:27 static/image/common/back.gif
你的程序有点问题哦。你是调用最后一项功能是吧。我帮你看了一下最后一项功能的程序。有点问题。改 ...
:L,多谢各位指点,辛苦了。我发现我眼神有问题了。这些问题能能通单步调示找出来吗?
我写的代码中没有这两处错误,发出的那个是鱼C的代码。可能是故意设置的错误!

lukelqz 发表于 2012-12-29 21:56:24

lyoal 发表于 2012-12-29 19:11 static/image/common/back.gif
,多谢各位指点,辛苦了。我发现我眼神有问题了。这些问题能能通单步调示找出来吗?
我写的代码中没有 ...

你程序能正常运行了吗

lyoal 发表于 2012-12-30 21:16:26

lukelqz 发表于 2012-12-29 21:56 static/image/common/back.gif
你程序能正常运行了吗

还是不行,就拿你修改后的代码编译能通过,但是无法正常运行,虚拟机中也是一样。

lukelqz 发表于 2012-12-30 21:33:21

lyoal 发表于 2012-12-30 21:16 static/image/common/back.gif
还是不行,就拿你修改后的代码编译能通过,但是无法正常运行,虚拟机中也是一样。

你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题,貌似都是运行出问题,而我这边却没问题哎~

lyoal 发表于 2012-12-30 23:34:40

lukelqz 发表于 2012-12-30 21:33 static/image/common/back.gif
你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题 ...

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

lyoal 发表于 2012-12-30 23:38:41

lukelqz 发表于 2012-12-30 21:33 static/image/common/back.gif
你调用子程序1看看,子程序4的运行效果不明显。我有点怀疑你的环境搭配的是不是有问题,你提的好几次问题 ...

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

lukelqz 发表于 2012-12-31 12:30:42

lyoal 发表于 2012-12-30 23:38 static/image/common/back.gif
是啊,不过我先的实验都没问题的,到了后面章节的中断这几章就屡试不成功。可能就是我硬件环境的问题吧。 ...

{:5_102:}往后走吧,看完16位的,去看32位的,后面有意思的多呢。

lyoal 发表于 2012-12-31 21:02:44

lukelqz 发表于 2012-12-31 12:30 static/image/common/back.gif
往后走吧,看完16位的,去看32位的,后面有意思的多呢。

:lol虽说,实验不成功,有点那XX,但总的来说还是蛮好玩儿的
页: [1]
查看完整版本: 很头大,16章节的例题也好,检测点也好,总是实验不成功!难道俺人品出了问题?