| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1551 人关注过本帖
标题:输入十进制转为二进制然后显示出来的程序不得结果!/
取消只看楼主 加入收藏
我的汇
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:0 
输入十进制转为二进制然后显示出来的程序不得结果!/
这个程序是个输入十进制转为二进制然后显示出来的程序帮我看呀

没有错不过不得结果!


DATA SEGMENT
BUF0 DB 'PLEASE INPUT NMUBER:',0DH,0AH,'$'
BUFI db 7
db ?
db 7 dup(0) ;输入缓冲区
BUFER DB 0DH,0AH,'$'
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,BUF0 ;提显
mov AH,9
int 21h
lea DX,BUFI ;-------开始输入--------------------
MOV AH,10
INT 21H
MOV CH,BUFI+1;输入的个数
lea DI,BUFI+2 ;的偏移地址
CALL CHANGE;转换
lea dx,bufer
mov ah,9
int 21h
CALL DISPBXB ;显示二进制子程序
MOV AH,4CH
INT 21H
CHANGE PROC NEAR;------转换子程序----------------------
;push ds
;mov ax,0
;push ax ;保护现场
;mov ax,data
; mov ds,ax ;送段地址
lea di,BUFI+2;instr的偏移地址
mov ax,0
next: mov bl,[di];送要转换数的数
SUB BL,30H
mov bh,0
mov si,ax
MOV CL,3
shl ax,CL ;*8
shl si,1 ;*2
add ax,si ;10*p
add ax,bx ;10*p+Q
dec CH;下一个个数
jz exit;退出子程序
inc di;指向下一个数
jmp next
exit: ret
CHANGE endp
DISPBXB PROC NEAR;----------显示二进制-----------------
MOV CX,16
LP: ROL AX,1
JC Data1
MOV DL,30H
JMP OUTP
Data1:MOV DL,31H
OUTP:mov AH,2
INT 21H
LOOP LP
MOV DL,'B' ;-----显示B-------
MOV AH,2
INT 21H
RET
DISPBXB ENDP

CODE ENDS
END START
搜索更多相关主题的帖子: 二进制 十进制 STACK SEGMENT 
2006-04-24 19:13
快速回复:输入十进制转为二进制然后显示出来的程序不得结果!/
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047552 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved