;*********************************************************************
; 函数功能:转化指令长度的内存区块为ASCII,转储到目标内存块,目标
; 内存块长度应该是源内存块的2倍,如果内存块的内容均为压
; 缩BCD码,则函数恰好将其转化为ASCII码。
; 入口参数:参数3:目标内存块地址,参数2:源内存块地址,参数1:源
; 内存块大小
; 参数大小:均为2个字节,参数顺序,自右向左
; 注意: 要在16位代码段中使用本函数,子过程已经通过了作者的初步
; 测试,欢迎大家测试并使用。
;*********************************************************************
MEM_TO_HEX PROC FAR
PUSH BP
MOV BP,SP
MOV DI,[BP+06H] ;提取目标内存块地址
MOV SI,[BP+08H] ;提取源内存块地址
MOV CX,[BP+0AH] ;提取源内存块长度(单位:字节)
LCX:
MOV AL, BYTE PTR [SI]
MOV BH, AL ;保存AL的高半字节
MOV BL, 2H
LBL:
AND AL, 0FH ;将AL低半字节转化成十六进制
将指定大小的压缩BCD码内存块转化为16进制形式,存入目标内存块中。
最新推荐文章于 2022-11-24 17:03:29 发布
这是一个在16位代码段中使用的远过程,功能是将指定大小的压缩BCD码内存块转换为ASCII格式,并存储到目标内存块中。函数要求目标内存块的长度是源内存块的两倍,确保所有数据能正确转化。过程通过初步测试,适用于压缩BCD码到16进制ASCII的转化。
摘要由CSDN通过智能技术生成