将指定大小的压缩BCD码内存块转化为16进制形式,存入目标内存块中。

这是一个在16位代码段中使用的远过程,功能是将指定大小的压缩BCD码内存块转换为ASCII格式,并存储到目标内存块中。函数要求目标内存块的长度是源内存块的两倍,确保所有数据能正确转化。过程通过初步测试,适用于压缩BCD码到16进制ASCII的转化。
摘要由CSDN通过智能技术生成

;*********************************************************************
;     函数功能:转化指令长度的内存区块为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低半字节转化成十六进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值