从键盘输入一个十进制数(<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

评论