小木偶 发表于 2014-2-24 14:20:53

实验10(3)执行后显示不了

本帖最后由 小木偶 于 2014-2-24 15:03 编辑

assume cs:code

data segment
   dw 123,12666,1,8,3,38,0
data ends

code segment

start: mov bx,data
         mov ds,bx
         mov si,0
         call d1

         mov ax,0
         mov bx,0
         mov ax,08b00h
         mov es,ax
         mov di,0
         mov cx,13
       call xs

         mov ax,4c00h
         int 21h
         
   d1: mov ax,ds:
       call zh   
       ret         

   zh: mov dx,0
       mov bx,10
       div bx
       mov cx,ax
       add cx,1
       add dx,30h
       mov bx,dx
       push bx
       loop zh
       mov bp,2dh
       push bp
       add si,2
       jcxz d1
       ret

xs: pop es:
       mov bx,1
       mov al,2ch
       mov es:,al         
       inc di
       loop xs
       ret
code ends

end start
错哪里了?执行后一闪就没了,什么都显示不出来。我想想中的显示出来的结果应该是38.3.8.1.12666.123
是不是错在 xs 这个子程序中?

小木偶 发表于 2014-2-24 15:04:40

是不是我写的太乱   没人明白我意思啊?:mad:

oggplay 发表于 2014-2-24 15:21:10

其他的不看了,就看到你的mov ax,4c00h int 21H了,这个是带返回码退出的意思。没看到你的显示中断

小木偶 发表于 2014-2-24 15:43:13

oggplay 发表于 2014-2-24 15:21 static/image/common/back.gif
其他的不看了,就看到你的mov ax,4c00h int 21H了,这个是带返回码退出的意思。没看到你的显示中断

大神啥意思?还请指点迷津啊....
要怎么改才能显示出来?
:cry

oggplay 发表于 2014-2-24 16:27:29

小木偶 发表于 2014-2-24 15:43 static/image/common/back.gif
大神啥意思?还请指点迷津啊....
要怎么改才能显示出来?

百度 dos 中断 ,显示中断好象是 ah=09,不熟悉inte格式的l汇编
页: [1]
查看完整版本: 实验10(3)执行后显示不了