組合語言,將ASCII碼十進位制數轉換為二進位制數
阿新 • • 發佈:2019-02-07
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MES1 DB 'The ascii code of decimal code are:$' BUF DB 31H,32H,33H DB 10H DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF MOV BX,000AH MOV CX,0002H MOV AH,00H MOV AL,[SI] SUB AL,30H A1: IMUL BX ADD AL,[SI+01] SUB AL,30H INC SI LOOP A1 MOV [SI],AX MOV DX,OFFSET MES1 MOV AH,09H INT 21H INC SI ;顯示高位元組 CALL SHOW DEC SI ;顯示低位元組 CALL SHOW MOV AX,4C00H INT 21H SHOW PROC NEAR MOV AL,DS:[SI] AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的數 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H MOV AL,DS:[SI] AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H RET ENDP CODE ENDS END START