;6.10源程序
;****************************************
data segment
val1 dw 23
data ends
;************************************
program segment
bando proc far
assume cs:program,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
push val1
call pairs
ret
bando endp
;***********************
pairs proc near
push bp
mov bp,sp
push bx
mov bx,[bp+4]
call outbin
mov cx,8
space:
mov dl,' '
mov ah,2
int 21h
loop space
call outoct
call cout
pop bx
pop bp
ret 1
pairs endp
;************************
outbin proc near
push bx
mov cx,16
onebit:
rol bx,1
mov dx,bx
and dx,1
or dx,30h
mov ah,2
int 21h
loop onebit
pop bx
ret
outbin endp
;************************
outoct proc near
mov cx,5
rol bx,1
mov dx,bx
and dx,01
or dx,30h
mov ah,2
int 21h
next:
push cx
mov cl,3
rol bx,cl
mov dx,bx
and dx,7
or dx,30h
mov ah,2
int 21h
pop cx
loop next
ret
outoct endp
;**************************
cout proc near
mov ah,2
mov dl,0dh
int 21h
mov ah,2
mov dl,0ah
int 21h
ret
cout endp
;**************************
;*******************************
program ends
;*****************************
end start
在编译连接都没问题,但运行时直接死掉了。。。。不知道哪里错了