《微机原理作业2》由会员分享,可在线阅读,更多相关《微机原理作业2(2页珍藏版)》请在金锄头文库上搜索。
1、微机原理57. 在自BUFFER单元开始,放有一个数据块,BUFFER和BUFFER+1单元中放的是数据的长度,自BUFFER+2开始存放数据,每一单元放的是两位BCD码,把它们分别转换为ASCII码,放到自BLOCK开始的存储区中(低四位BCD码转换成的ASCII码放在地址低的单元),而BLOCK和BLOCK+1放转换成的ASCII码的长度。.MODEL SMALL.STACK.DATABUFFER DB 04, 00, 04H, 06H, 03H, 08HBLOCK DB 10 DUP(0).CODE.STARTUPMOV CL,BUFFER MOV CH,BUFFER+1 MOV DX,
2、CX ADD DX,DX ;DX为转换后的ASCII码的长度 MOV BLOCK,DL MOV BLOCK+1,DH ;BLOCK和BLOCK+1存放转换成的ASCII码的长度LEA SI,BUFFER+2 LEA DI,BLOCK+2MYFCT:MOV AL,BYTE PTRSI MOV BL,AL AND AL,0FH ;只有低4位是有效的,高4位清0ADD AL,30H ;转换成ASCII码MOV BYTE PTRDI,AL ;存放转换成的ASCII码INC DI ;地址加1MOV AL,BL ;ALBLSHR AL,1SHR AL,1SHR AL,1SHR AL,1 ADD AL,30H ;转换成ASCII码 MOV BYTE PTRDI,AL ;存放转换成的ASCII码 INC SI ;SI加1INC DI ;DI加1DEC CX JNZ MYFCT .EXITEND