课程设计(4)

2019-03-22 23:25

DECibin PROC NEAR

MOV BX,0 ;将BX清零 NEwchar2:

MOV AH,1

INT 21h ;21号中断输入 SUB AL,30h ;ASCII转二进制 JL exit2 ;<0则跳转 CMP AL,9d ;判断是否>9

JG exit2 ;如果大于则不是十进制数 CBW ; XCHG AX,BX ; MOV CX,10d ; MUL CX ;AX XCHG AX,BX ; ADD BX,AX ; JMP NEwchar2 ;exit2: RET DECibin ENDP

;---------------------------------------

;---------------------------------------

二进制转十六进制

Binioct proc near Mov ch,4 Rotate: mov cl,4 Rol bx,cl Mov al,bl And al,0fh Add al,30h Cmp al,3ah jl printit Add al,7h Printit:

Mov dl,al Mov ah,2 Int 21h Dec ch

Jnz rotate Ret Binioct endp

---------------------------------------

字节转为字 交换寄存器 把10放如CX 扩大10倍 交换寄存器

原数的10倍加上输入数跳转输入 15

十六进制转为二进制

octbin PROC NEAR

MOV BX,0 ; BX清零 NEwchar1:

MOV AH,1 ;输入数字 INT 21h

SUB AL,30h ; JL exit1

CMP AL,16d ; JL ADD_to1

CMP AL,10h JGE exit1 ADD_to1:

MOV CL,4 ; SHL BX,CL ; MOV AH,0 ;AH ADD BX,AX ; JMP NEwchar1 ;exit1: RET octbin ENDP

二进制转化为十进制

binidec PROC NEAR

MOV CX,10000d ; CALL DEC_div

MOV CX,1000d ; CALL DEC_div

MOV CX,100d ; CALL DEC_div

MOV CX,10d ; CALL DEC_div

MOV CX,1d ; CALL DEC_div RET

;--------------------------------------- ;子程序

DEC_div PROC NEAR

MOV AX,BX ; MOV DX,0 ;DX

转换为二进制数 如果<8则跳转 移位数字3 左移3位 清0

把新位移入数字 跳转继续输入 除数为10000 除数为1000 除数为100 除数为10 除数为1 把二进制数移入AX 高八位清零

16

DIV CX ;除数CX

MOV BX,DX ;余数移入BX MOV DL,AL ;商移入DL ADD DL,30h ;转换为ASCII MOV AH,2 ;输出十进制数位 INT 21h RET DEC_div ENDP

;--------------------------------------- binidec ENDP

;---------------------------------------

;回车和换行。

crlf PROC NEAR

MOV DL,0dh ; MOV AH,2 ; INT 21h

MOV DL,0ah ; MOV AH,2 ; INT 21h RET crlf ENDP

;---------------------------------------- DECioct ENDS

;***************************************** END start

回车 输出 换行 输出 17


课程设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于SolidWorks VRML实现虚拟现实的精确建模

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: