⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a3-4.asm

📁 A1.asm 显示程序实验 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT USE16 MES1 DB
💻 ASM
字号:
;A3-4.asm
;BCD码转换为二进制码

STACK1  SEGMENT STACK
         DW 256 DUP(?)
STACK1  ENDS

DDATA	SEGMENT
MES1 	DB	'The BCD code of binary are:$'
BUF	    DB	01H,07H,03H,04H,05H,01H,06H,08H
	    DB	10H DUP(0)
DDATA	ENDS

CODE SEGMENT
	ASSUME CS:CODE,DS:DDATA

START: MOV	AX,DDATA
	   MOV	DS,AX

	   MOV 	CX,0004H
	   MOV 	DI,OFFSET BUF
A1:	   MOV 	AL,[DI]
	   ADD 	AL,AL
	   MOV 	BL,AL
	   ADD 	AL,AL
	   ADD 	AL,AL
	   ADD 	AL,BL
	   INC 	DI
	   MOV 	AH,00H
	   ADD 	AL,[DI]
	   MOV 	[DI+07H],AX
	   INC 	DI
	   LOOP A1

	   MOV	DX,OFFSET MES1
	   MOV	AH,09H
	   INT	21H
	   MOV	CX,04H
	   MOV	DI,OFFSET BUF
	   ADD	DI,08H

A2:	   MOV	AX,[DI]
	   CALL	SHWORD
	   MOV	DL,20H
	   MOV	AH,02H
	   INT	21H
	   INC	DI
	   INC	DI
	   LOOP	A2

	   MOV	AX,4C00H
	   INT	21H
	
SHWORD	PROC	NEAR
	   MOV	BL,AH
	   CALL	SHOW
	   MOV	BL,AL
	   CALL	SHOW
	   RET	
	   ENDP

SHOW	PROC	NEAR
	   PUSH	AX
	   PUSH	DX
	   MOV	AL,BL
	   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,BL
	   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
	   POP	DX
	   POP	AX
	   RET
	   ENDP	
CODE ENDS
       END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -