immortalfaith 发表于 2016-4-5 01:14:20

求大神看看,跳了一下午,都不行

assume cs:code,ss:stack,ds:data

stack segment
        dd 8 dup(0)
stack ends

data segment
       
        dd 8 dup(0)
data ends


code segment
start:        mov ax,stack
                mov ss,ax
                mov sp,32

                mov ax,data
                mov ds,ax

                mov bp,sp
                sub sp,2

                mov word ptr ,12666
               
                push
               
                call dtoc
                add sp,2       

                mov ax,4c00h
                int 21h


dtoc:        push bp
                push cx
                push dx
                push di
                push bx

                mov bp,sp
                mov ax,
                mov bx,0ah

next1:        div bx
                mov cx,ax

                jcxz end1

                add cx,30H
                mov ,cx
                mov dx,0

                inc di

                jmp next1

end1:        pop bx
                pop di
                pop dx
                pop cx
                pop bp
                ret

code ends
end star
以上代码编译好后用debug单步调试可以通过,但直接运行就卡死了,实在找不出问题所在了

求生而学 发表于 2016-6-16 09:24:27

我是新手,看 得似懂非懂的,mov cx,ax应该是movcx, dx吧,ax是默认存放商,dx默认存放余数。

feng602458678 发表于 2016-6-18 14:40:38

mov word ptr ,12666

feng602458678 发表于 2016-6-18 14:42:13

mov word ptr ,12666这一句是不是操作有问题的,word是4位你赋值的5位。操作数运行识别不了的吧
页: [1]
查看完整版本: 求大神看看,跳了一下午,都不行