多种数制显示的汇编语言编程实现毕业论(2)
2014-10-01 01:01
导读:3.1 按二进制形式 DISPBXB PROC NEAR MOV CX,16 LP:ROL BX,1 JC D1 MOV DL,30H JMP OUTP D1:MOV DL,31H OUTP:MOV AH,2 INT 21H LOOP LP MOV DL,’B’ ;显示字母“B” MOV AH,2 IN
3.1 按二进制形式
DISPBXB PROC NEAR
MOV CX,16
LP:ROL BX,1
JC D1
MOV DL,30H
JMP OUTP
D1:MOV DL,31H
OUTP:MOV AH,2
INT 21H
LOOP LP
MOV DL,’B’ ;显示字母“B”
MOV AH,2
INT 21H
RET
DISPBXB ENDP
设(BX)=7FFFH,则输出格式为0111111111111111B,后面的大字字母B表示二进制形式,显示结果固定为十六位。
3.2 按十进制形式
DISPBXD PROC NEAR
MOV SI,10
XOR CX,CX
MOV AX,BX
NEXT:MOV DX,10
DIV SI
PUSH DX
INC CX
CMP AX,0 ;商为0则完成转换
JNZ NEXT
OUTP:POP DX
ADD DL,30H
MOV AH,2
INT 21H
LOOP OUTP
RET
DISPBXD ENDP
此程序在转换和显示时的循环控制方式和二进制形式的例子不一样,即显示结果的位数是不固定的。若(BX)=7FFFH=32767,则显示结果为5位:32767;若(BX)=00FFH=255,则显示结果为3位:255,与十进制的有效位数相同。
3.3 按十六进制形式
DISPBXH PROC NEAR
MOV CL,
MOV CH,4
NEXT:ROL BX,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL OUTP
ADD AL,07H ;是A~F,要多加7
OUTP:MOV DL,AL
MOV AH,02H
INT 21H
DE