初学汇编之第三个程序(扩展一个二进制数)
来源:互联网 发布:炉石传说 秋日淘宝店 编辑:程序博客网 时间:2024/05/23 02:29
- MLENGTH=128
- SSEG SEGMENT PARA STACK ;堆栈段
- DB 256 DUP (0)
- SSEG ENDS
- DSEG SEGMENT
- TAB DW 0000000000000011B,0000000000001100B
- DW 0000000000110000B,0000000011000000B
- DW 0000001100000000B,0000110000000000B
- DW 0011000000000000B,1100000000000000B
- MESS0 DB 'PLEASE INPUT A NUMBLE OF 8TH:$'
- BUFF DB MLENGTH
- DB ?
- DB 10 DUP (0)
- DSEG ENDS
- ;
- CSEG SEGMENT
- ASSUME DS:DSEG,CS:CSEG,SS:SSEG
- START: MOV AX,DSEG
- MOV DS,AX
- MOV DX,OFFSET MESS0
- CALL DISPMESS
- MOV DX,OFFSET BUFF ;接收一个八位二进制数
- MOV AH,10
- INT 21H
- CALL NEWLINE
- MOV SI,0 ;地址指针
- MOV DL,0 ;放结果的地方
- MOV CL,8 ;总长度
- INC SI
- QQQ: MOV DH,[BUFF+SI+1] ;得到第一个字符
- SUB DH,'0'
- CALL XIONG
- XOR AH,AH
- MUL DH
- ADD DL,AL
- INC SI
- DEC CL
- CMP CL,0
- JNBE QQQ ;这段运行完再dl得到二进制真数
- MOV AL,DL
- CALL CCC ;bx得到扩展后的数
- CALL ECHO
- MOV AH,4CH
- INT 21H
- CCC PROC
- MOV CL,8 ;八位计八次数
- MOV SI,0 ;查表指针
- MOV BX,0 ;结果存放
- QI: SHR AL,1 ;右移位
- JNC YAO ;cf=0就跳
- MOV DX,TAB[SI] ;查表
- OR BX,DX
- YAO: INC SI
- INC SI
- DEC CL
- CMP CL,0
- JNBE QI
- RET
- CCC ENDP
- ;
- ECHO PROC
- MOV CL,16
- JJ: SHL BX,1
- JNC KK
- MOV DL,'1'
- CALL ECHOCH
- JMP OO
- KK: MOV DL,'0'
- CALL ECHOCH
- OO: DEC CL
- CMP CL,0
- JNBE JJ
- RET
- ECHO ENDP
- ;
- NEWLINE PROC
- PUSH AX
- PUSH DX
- MOV DL,0DH
- MOV AH,2
- INT 21H
- MOV DL,0AH
- MOV AH,2
- INT 21H
- POP DX
- POP AX
- RET
- NEWLINE ENDP
- ;
- XIONG PROC
- PUSH CX
- CMP CL,1
- JE LI
- DEC CL
- MOV AL,1
- AA: SHL AL,1
- LOOP AA
- JMP BAO
- LI: MOV AL,1
- BAO: POP CX
- RET
- XIONG ENDP
- ;
- DISPMESS PROC
- MOV AH,9
- INT 21H
- RET
- DISPMESS ENDP
- ;
- ECHOCH PROC
- MOV AH,2
- INT 21H
- RET
- ECHOCH ENDP
- CSEG ENDS
- END START
- 初学汇编之第三个程序(扩展一个二进制数)
- 初学汇编之第一个程序
- 初学汇编之第二个程序(统计ax为1的个数)
- PHP扩展:第三个程序
- 扩展二进制数
- 扩展二进制数
- 初学汇编之笔记!
- 《编程之美》读书笔记(二):“求二进制数中1的个数”扩展问题
- 计算一个数的二进制形式有多少个1
- 判断一个整数的二进制数有多少个1
- 如何判断一个数的二进制有多少个1
- 判断一个数的二进制有多少个1
- 求一个数的二进制中有多少个一
- 一个int数的二进制有多少个一
- 如何判断一个数的二进制有多少个1
- hihocoder #1331 : 扩展二进制数
- 二进制数位数扩展方法
- hihocoder #1331扩展二进制数
- 信念
- asp.net
- 我的CSDN首发
- 屏蔽intup text控件下拉
- GridView增、删、改、查
- 初学汇编之第三个程序(扩展一个二进制数)
- 从习惯课堂学习到自学
- 关于response
- lauwh
- 线程
- 【转帖】做一名通才(1)
- sql对xml的多条件查询
- 【转帖】做一名通才(2)
- 初学