正文

从键盘输入一个十进制数(<60000),将其转换为二进制数2006-03-19 23:20:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vfdff/11192.html

分享到:

从键盘输入一个十进制数(<60000),将其转换为二进制数.
                将二进制数显示在屏幕上.
                        

            data segment
                     x db 34h ;00110100b    ;34h在内存中的存储格式为00110100b
            data ends

            code segment
                     assume cs:code,ds:data
            start:
                     mov ax,data
                     mov ds,ax

                     mov bl,byte ptr [x]   ;al<-10001010b
                      
                     mov cl,8              ;cx<-8

                     
                     
                     
            l1:      test bl,80h           ;看bl和1000000b与的最高为是否为1

                     jnz l2               ;如果不是1,则l2,输出0
                   
                     mov dl,'0'
                     mov ah,02h
                     int 21h               ;输出1
                   
                     jmp l3

            l2:      mov dl,'1'
                     mov ah,02h
                     int 21h              ;输出0



            l3:      shl bl,1           ;al逻辑左移,将次高位移动到最高位
                     
                     dec cl
                     jnz l1

                     mov ah,4ch
                     int 21h
            code ends
            end start
            该程序使用逻辑尺方法。首先将34h防入bl中;然后用逻辑左移的方法将bl的每一位移动至最高位,然后根据它和10000000与的方法查看最高位是否为1,如果是,则屏幕显示1,否则显示0。这样,屏幕上显示的是34h的二进制值00110100b

            依次类推,可以编制出类似的更多数位的程序.

http://www.programfan.com/blog/article.asp?id=6543

阅读(6119) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册