请教两个简单的汇编ASM文件的问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 12:53:47
第一个是要写一个过程procedure叫DisplayHexDigit,它会导入一个0到15之间的数字到BX,然后以16进制的方式输出,例子:
C:\ASM>ass2-2
0
0
C:\ASM>ass2-2
15
F

第二个是写一个叫DisplayHexByte的过程procedure,它导入一个0都255之间的数字到BX后以16进制的方式输出,但是这个要CALL上一个过程去输出答案
例子
C:\ASM>ass2-2
16
10
C:\ASM>ass2-2
255
FF

万分感谢
是在程序运行中输入

程序中,对应DisplayHexDigit的子程序是:AL_ASCII,对应DisplayHexByte的子程序是:ByteD_ASCII。

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
CR equ 000DH
LF equ 000AH
KBBack equ 0008H
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)

; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:显示输出一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; -----------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop