ǰλãҳ > 微机原理课设 数制转换 - 百度文库
人ѧԭӿڼγ˵
4Դ
4.1ջκݶγ
ȶջκݶεijʾ DATA SEGMENT
MENU DB 'Please Input Your Choice:1:Bin2,2:Dec10,3:Hex16',0dh,0ah,'$' Mess1 db 'Please input a Oct8 number:',0dh,0ah,'$' Mess2 db 'Output Bin2 is:',0dh,0ah,'$' Mess3 db 'Output Dec10 is:',0dh,0ah,'$' Mess4 db 'Output Hex16 is:',0dh,0ah ,'$'
ERROR DB 'ERROR!PLEASE INPUT YOUR CHOICE AGAIN , $' TABLE DW AA1, L1,L2,L3 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
4.2
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX AA1:LEA DX,MENU MOV AH,09H INT 21H MOV AH,01H INT 21H SUB AL,30H CMP AL,04H JB DONE LEA DX,ERROR
7
人ѧԭӿڼγ˵
MOV AH,09H INT 21H JMP AA1 DONE:CMP AL,01H JZ L1 CMP AL,02H JZ L2 CMP AL,03H JZ L3 L1:CALL INOCT CALL FAR CRLF CALL FAR OUTBIN CALL FAR CRLF JMP AA1 L2:CALL INOCT CALL CRLF CALL OUTDEC CALL CRLF JMP AA1 L3:CALL FAR INOCT CALL FAR CRLF CALL FAR OUTHEX CALL FAR CRLF JMP AA1 MAIN ENDP MOV AH,4CH INT 21H CODE ENDS
END START
8
人ѧԭӿڼγ˵
4.3˽
INOCT PROC NEAR LEA DX,MESS1 MOV AH,09H INT 21H MOV BX,0 INOL1:MOV AH,01H INT 21H CMP AL,0DH JZ INOEXIT SUB AL,30H CMP AL,9 JBE INOL2 SUB AL,7 INOL2:MOV CL,3 SHL BX,CL OR BL,AL JMP INOL1 INOEXIT:RET INOCT ENDP
4.4
OUTBIN PROC NEAR LEA DX,MESS2 MOV AH,09H INT 21H MOV CX,16 OBL1:ROL BX,1 MOV DL,BL AND DL,01H
9
人ѧԭӿڼγ˵
OR DL,30H MOV AH,02H INT 21H LOOP OBL1 RET OUTBIN ENDP
4.5ʮOUTDEC PROC LEA DX,MESS3 MOV AH,09H INT 21H MOV CX,10000 CALL DECL1 MOV CX,1000 CALL DECL1 MOV CX,100 CALL DECL1 MOV CX,10 CALL DECL1 MOV CX,1 CALL DECL1 RET OUTDEC ENDP DECL1 PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL
10
92ƪĵ