汇编 显示8个储存的16进制数

该博客介绍了两种在汇编语言中实现数值转换和打印的方法:打表法和直接法。通过示例代码展示了如何将16进制数转换为ASCII字符并输出到屏幕上,详细解释了每一步操作的含义和作用,涉及数据段、栈段和代码段的设置以及中断调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打表法:

DATAS SEGMENT  
    array db 01H,25H,38H,62H,8DH,9AH,0BAH,0CEH
    ascii db 30h,31h,32h,33h,34h,35h,36h,37h
          db 38h,39h,41h,42h,43h,44h,45h,46h
    n dw 8
    x dw 0
    y db 0
DATAS ENDS

STACKS SEGMENT
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    mov cx,n
  A:mov n,cx
    mov bx,x
    
    mov dl,array[bx]
    inc bx
    mov x,bx
    call output
    mov cx,n
    cmp cx,1
    je finish
    mov dl,','
    mov ah,2
    int 21h
    loop A
finish:
    MOV AH,4CH
    INT 21H

output proc near
    mov y,dl
    mov cl,4
    shr dl,cl
    mov bx,offset ascii
    mov al,dl
    and al,0fh
    xlat
    mov dl,al
    mov ah,2
    int 21h
    mov al,y
    and al,0fh
    xlat
    mov dl,al
    mov ah,2
    int 21h
    
    mov dl,'H'
    mov ah,2
    int 21h
    ret
output endp   
    
CODES ENDS
    END START

直接法:

DATAS SEGMENT  
    array db 01H,25H,38H,62H,8DH,9AH,0BAH,0CEH
    n dw 8
    x dw 0
DATAS ENDS

STACKS SEGMENT
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    mov cx,n
  A:mov n,cx
    mov bx,x
    
    mov dl,array[bx]
    inc bx
    mov x,bx
    call output
    mov cx,n
    cmp cx,1
    je finish
    mov dl,','
    mov ah,2
    int 21h
    loop A
finish:
    MOV AH,4CH
    INT 21H

output proc near
    mov bl,dl
    mov cl,4
    shr dl,cl
    or dl,30h
    cmp dl,39h
    jna a1
    add dl,7
 a1:mov ah,2
    int 21h
    mov dl,bl
    and dl,0fh
    or dl,30h
    cmp dl,39h
    jna a2
    add dl,7
 a2:mov ah,2
    int 21h 
    mov dl,'H'
    mov ah,2
    int 21h
    ret
output endp   
    
CODES ENDS
END START
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值