erh 发表于 2017-7-4 10:40:08

郁闷了三天终于搞好了

assume cs:code,ss:stack

stack segment
        dw 128 dup(0)
stack ends

code segment
        start:
                mov ax,stack
                mov ss,ax
                mov sp,128
                mov ax,0b800h
                mov es,ax
                mov di,160*10+80
               
                push ax
                mov al,'a'
                s:
                        mov es:,al
                        call delay
                        cmp al,'z'
                        inc al
                        jna s
                        pop ax
                       
                mov ax,4c00h
                int 21h
                       
                delay:
                  push ax
                  push dx
                        mov dx,1000h
                        mov ax,0
                        s1:
                        sub ax,1
                        sbb dx,0
                        cmp ax,0
                        jne s1
                        cmp dx,0
                        jne s1
                        pop dx
                        pop ax
                        ret
               
code ends
end start


这个在屏幕上依次显示a~z的作业快搞死个人嘞!
自己编好了,编译通过,一运行就死那里了,反复调试找不到问题,按照书上的源码一个一个对着敲,还是运行就死。
自己的运行环境是win7下的dosbox0.74。
实在没法,装虚拟机,装winxp,运行!ok了!{:10_245:}

erh 发表于 2017-7-4 10:42:46

调试环境很重要,汇编语言跟机器接触太紧密。没有好的调试环境就会出让人抓狂的问题。
教训!教训!
在找不到问题出在哪里的情况下,想想大环境吧{:10_256:}
页: [1]
查看完整版本: 郁闷了三天终于搞好了