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

📄 bcd.asm

📁 此程序是微机与接口技术的课程设计源程序
💻 ASM
字号:
;FILENAME: BCD.ASM  
;内容:单字节BCD相乘
DISPL 	MACRO
    	ADD DL,30H
    	MOV AH,2
    	INT 21H
		ENDM
CRLF 	MACRO
  		MOV DL,0DH
  		MOV AH,2
     	INT 21H
       	MOV DL,0AH
       	MOV AH,2
      	INT 21H
       	ENDM
DATA 	SEGMENT
DATA1	DB 01001000B            	;48H
DATA2	DB 01110101B            	;75H
INFO1 	DB 0AH,0DH,'THE INPUT IS:$'
INFO2 	DB 0AH,0DH,'THE RESULT IS:$'

RESULT	DW ?
DATA 	ENDS
STACK 	SEGMENT STACK 'STACK'
       	DB 2O DUP(?)
STACK 	ENDS
CODE 	SEGMENT
ASSUME 	CS:CODE, DS:DATA, SS:STACK, ES:DATA
START:	MOV AX, DATA
       	MOV DS, AX

   	LEA DX,INFO1
      	MOV AH,9
      	INT 21H
       	CRLF

       	MOV DI,OFFSET RESULT 	;DI指向结果区
       	MOV SI,OFFSET DATA1  	;SI指向乘数1
       	MOV AH, [SI]
       	MOV CL,4
       	SHR AH,CL          		;显示乘数1的高位字节
       	MOV DL,AH
      	DISPL
       	MOV AL, [SI]
       	MOV BL,AL           		;显示乘数1的低位字节
       	AND AL,00001111B
       	MOV DL,AL
    	DISPL
       	CRLF

       	MOV SI,OFFSET DATA2  	;指向乘数2
       	MOV AH, [SI]
       	MOV CL,4
       	SHR AH,CL
       	MOV DL,AH
       	DISPL

       	MOV AL, [SI]
       	AND AL,00001111B
       	MOV DL, AL
       	DISPL
       	CRLF
 
   	LEA DX,INFO2
      	MOV AH,9
      	INT 21H
       	CRLF

       	XOR DX,DX             		;DX清0
S1:   	CMP BL,0
       	JZ S2                 		;乘数1减为07
      	CLC
       	MOV AL, [SI]
       	ADC AL,DL            		;乘数2加部分积低位 
       	DAA                    		;组合BCD加法调整
       	MOV DL,AL            		;结果送部分积低位
       	MOV AL,00H
       	ADC AL,DH            		;往部分积高位送进位
       	DAA                    		;调整 
       	MOV DH,AL           		;结果送部分积高位
       	MOV AL,BL
       	DEC AL                		;结果送BL
       	DAS                  		;调整
       	MOV BL,AL       			;乘数1值减1
       	JMP S1
S2:     MOV RESULT, DX          	;结果送存储器
      	MOV SI,DX
       	MOV CL, 4
       	SHR DH,CL
       	MOV DL, DH
       	DISPL                  	;显示结果最高位
      	MOV DX,SI
       	AND DH,00001111B
       	MOV DL,DH
       	DISPL
       	MOV DX,SI
       	MOV CL,4
      	SHR DL,CL
      	DISPL
       	MOV DX,SI
       	AND DL,00001111B
       	DISPL                  	;显示结果最低位
      	CRLF
S3 :  	MOV AX,4C00H
       	INT 21H
CODE 	ENDS
END 	START

⌨️ 快捷键说明

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