题目:将两个二进制数转换为二进制数码的ASCII码。 调用程序与子程序之间的任务分工是:调用程序提供待转换的数据,数据位数(8位,16位)和转换后存放ASCII码的首址等三个参量的地址,子程序完成二进制数的ASCII码转换。 ----------------------------------------------------------- DATA SEGMENT BIN1 DB 35H BIN2 DW 0AB48H NUM DB 8,16 ASCBUF DB 20H DUP(0) TABLE DW 3 DUP(0) DATA ENDS ..... COSEG SEGMENT ... MOV TABLE,OFFSET BIN1 MOV TABLE+2,OFFSET NUM MOV TABLE+4,OFFSET ASCBUF MOV BX,OFFSET TABLE CALL BINASC8 ... MOV TABLE,OFFSET BIN2 MOV TABLE+2,OFFSET NUM+1 MOV TABLE+4,OFFSET ASCBUF+10H MOV BX,OFFSET TABLE CALL BINASC16 -------------------------------------------------------------- -------------------------------------------------------------- 子程序如下: BINASC PROC BINASC8: MOV DI,[BX] MOV DH,[DI] JMP TRAN BINASC16: MOV DI,[BX] MOV DX,[DI] TRAN: MOV DI,[BX+2] MOV CL,[DI] XOR CH,CH MOV DI,[BX+4] LOP: ROL DX,1 MOV AL,DL AND AL,01H ADD AL,30H MOV [DI],AL INC DI LOOP LOP RET BINASC ENDP -------------------------------------------------------------- 程序是这个
http://zhidao.baidu.com/question/1690966329566998468.html
参考。