首页 > 解决方案 > 如何针对emu8086中的输入打印ASCII值

问题描述

我正在使用 EMU8086 我想打印字符串的 ascii 值,如“ABC”输出为:“65”“66”“67”。请指导我如何在用户输入值时打印字符串的 ascii 值。

我也在 ascii 表的帮助下打印字符,但我不知道如何打印字符的 ascii 值

标签: assemblyemu8086

解决方案


这是您问题的解决方案

org 100h
.data
mystr DB 'A','B','C'
RES  DB 10 DUP ('$')  
.code
; Print the ASSCII for A
lea si,mystr[0]
mov AX,[si]
mov ah,0
    LEA SI,RES
    CALL HEX2DEC
    LEA DX,RES
    MOV AH,9
    INT 21H
; Print the coma
mov dl,','
mov ah,2
int 21h 
; Print the ASSCII for B    
lea si,mystr[1]
mov AX,[si]
mov ah,0
    LEA SI,RES
    CALL HEX2DEC
    LEA DX,RES
    MOV AH,9
    INT 21H 
; Print the coma
mov dl,','
mov ah,2
int 21h
; Print the ASSCII for C
lea si,mystr[2]
mov AX,[si]
mov ah,0
    LEA SI,RES
    CALL HEX2DEC
    LEA DX,RES
    MOV AH,9
    INT 21H 
    MOV AH,4CH
    INT 21H         
HEX2DEC PROC NEAR
    MOV CX,0
    MOV BX,10
LOOP1: MOV DX,0
       DIV BX
       ADD DL,30H
       PUSH DX
       INC CX
       CMP AX,9
       JG LOOP1
       ADD AL,30H
       MOV [SI],AL
LOOP2: POP AX
       INC SI
       MOV [SI],AL
       LOOP LOOP2
       RET
HEX2DEC ENDP           
END START 




ret 

END

推荐阅读