微机原理作业2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理

57.在自BUFFER单元开始,放有一个数据块,BUFFER和BUFFER+1单元中放的是数据的长度,自BUFFER+2开始存放数据,每一单元放的是两位BCD码,把它们分别转换为ASCII 码,放到自BLOCK开始的存储区中(低四位BCD码转换成的ASCII码放在地址低的单元),而BLOCK和BLOCK+1放转换成的ASCII码的长度。

.MODEL SMALL

.STACK

.DA TA

BUFFER DB 04, 00, 04H, 06H, 03H, 08H

BLOCK DB 10 DUP(0)

.CODE

.STARTUP

MOV CL,[BUFFER]

MOV CH,[BUFFER+1]

MOV DX,CX

ADD DX,DX ;DX为转换后的ASCII码的长度

MOV [BLOCK],DL

MOV [BLOCK+1],DH ;BLOCK和BLOCK+1存放转换成的ASCII码的长度

LEA SI,BUFFER+2

LEA DI,BLOCK+2

MYFCT:

MOV AL,BYTE PTR[SI]

MOV BL,AL

AND AL,0FH ;只有低4位是有效的,高4位清0

ADD AL,30H ;转换成ASCII码

MOV BYTE PTR[DI],AL ;存放转换成的ASCII码

INC DI ;地址加1

MOV AL,BL ;AL←BL

SHR AL,1

SHR AL,1

SHR AL,1

SHR AL,1

ADD AL,30H ;转换成ASCII码

MOV BYTE PTR[DI],AL ;存放转换成的ASCII码

INC SI ;SI加1

INC DI ;DI加1

DEC CX

JNZ MYFCT

.EXIT

END

相关文档
最新文档