汇编语言: 编写一个程序,从键盘输入一个 0~65535 之间的 10 进制无符号数,然后以 16 进制 和四进制数形式显示出所输入的数。

来源:互联网 发布:林州豫广网络客服电话 编辑:程序博客网 时间:2024/05/21 13:40

编写一个程序,从键盘输入一个 0~65535 之间的 10 进制无符号数,然后以 16 进制
和四进制数形式显示出所输入的数。
2017年6月5日19:25:02

data segmentcarryout db 0dh,0ah,' carry out!','$'crlfmsg db 0dh,0ah,'$'data endsstacks segment stackdw 20 dup(?)top label wordstacks endscode segment    assume cs:code,ss:stacks,ds:datamain proc far    mov ax,data    mov ds,ax    mov ax,stacks    mov ss,ax    lea sp,top    mov cx,5;max number 65535    xor bx,bxl1: mov ah,01h    int 21h    cmp al,0dh    je input    cmp al,30h    jb l1    cmp al,39h    ja l1    and ax,1111b    xchg ax,bx    mov di,10    mul di    jc carry    add bx,ax    jc carry    loop l1carry:    lea dx,carryout    mov ah,09h    int 21h    jmp exit    input:    call hex    call Four    jmp exitHex proc near    ;in bx !    mov ch,4l2:     mov cl,4    rol bx,cl    mov dl,bl    and dl,1111b    add dl,30h    cmp dl,39h    jbe l3    add dl,7hl3:    mov ah,02h    int 21h    dec ch    jnz l2    call crlfret Hex endpFour proc near    mov ch,8l4: mov cl,2    rol bx,cl    mov dl,bl    and dl,11b    add dl,30h    mov ah,02h    int 21h    dec ch    jnz l4    call crlfretFour endpcrlf proc near    lea dx,crlfmsg    mov ah,09h    int 21hretcrlf endpexit:    mov ah,4ch    int 21hmain endpcode endsend main 
阅读全文
0 0
原创粉丝点击