- [kakaxi3dai] 哦!呵呵,是啊.谢谢yigeling的提醒. 04/26 17:53
- [yigeling] 写的不错。但和要求相比功能号都多加了1,不要忽略这种细节啊。 04/26 16:35
- [kakaxi3dai] 恩!今天打算弄完,后天就把课程设计2做出来 04/25 19:48
- [kakaxi3dai] 哎!还可以吧. 不过感觉要学的东西太多了. 04/25 19:47
- [游客] 就快学完了,加油! 04/25 00:08
- [app] 应该很有成就感吧,呵呵! 04/24 21:50
- [kakaxi3dai] 其实我也是在看显示结果的时候发现字母的颜色不同,所以用debug查看CL 保存的颜色数据,发现了上述 04/22 11:51
- [sysnap] 博主很用心啊,要是我肯定懒于用debug调试了,也不会发现cx少一这个问题~ 04/21 10:09
- [wdm] 楼主真是有意思。 loop本来就是要将cx减1的啊。呵呵 以后写程序的时候不要走私啊。咯咯~~ 04/21 09:54
- [kakaxi3dai] 真是的,自己马虎写错了 ============================== s :pu 04/20 20:49
- [3989646] 你好,我刚自学汇编,还没怎么入门,希望能教教我 03/26 09:32
- [kakaxi3dai] 好啊!我的QQ 是 412793645 03/28 22:05
- [lonely200808] 你好!我也是姓杨,在自学汇编语言,请多指教!有没有QQ联系呀> 03/26 17:25
[2008-04-20 20:35] 求助:为什么我编写的中断例程7ch出入栈后CX的数值自动减一??
===================
assume cs:code
code segment
start:
mov ax,code
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
do0:push es
push di
push dx
push cx
push ds
push si
mov ax,0ah
mul dh
add ax,0b800h
mov es,ax
mov ax,2
mul dl
mov di,ax
s :push cx 此出入栈 CX的数值自动减1,为什么啊。
mov ch,0
mov cl,[si]
jcxz s0
pop cx
mov ah,cl
mov al,[si]
mov es:[di],ax
inc si
add di,2
inc cl 为了程序正常运行每次都要 inc cl
loop s
s0 :pop cx
pop si
pop ds
pop cx
pop dx
pop di
pop es
iret
do0end:nop
code ends
end start
====================================
课本上的程序
assume cs:code
data segment
db "welcone to masm",0
data ends
code segment
start: mov dh,10
mov dl,10
mov cl,11001010b
mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
code ends
end start
[ kakaxi3dai 发表于 2008-04-20 20:49 ]
真是的,自己马虎写错了
==============================
s :push cx
mov ch,0
mov cl,[si]
jcxz s0
pop cx
mov ah,cl
mov al,[si]
mov es:[di],ax
inc si
add di,2
inc cl
loop s 应该改成 jmp s
==============================
就是 loop s指令把CX的数值减一.马虎害死人啊,白白浪费我一个小时的宝贵时间.
[ wdm 发表于 2008-04-21 09:54 ]
楼主真是有意思。
loop本来就是要将cx减1的啊。呵呵
以后写程序的时候不要走私啊。咯咯~~
[ sysnap 发表于 2008-04-21 10:09 ]
博主很用心啊,要是我肯定懒于用debug调试了,也不会发现cx少一这个问题~
[ kakaxi3dai 发表于 2008-04-22 11:51 ]
其实我也是在看显示结果的时候发现字母的颜色不同,所以用debug查看CL 保存的颜色数据,发现了上述问题.