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

📄 a4-2.asm

📁 一些微机接口的例子
💻 ASM
字号:
;A4-2.asm
;十进制数的BCD码减法运算

STACK1  SEGMENT STACK
         DW 256 DUP(?)
STACK1  ENDS

DATA 	SEGMENT
MES1	DB	'The result is:$'
X	    DW  0400H
Y	    DW  0102H
DATA	ENDS

CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
	
START: MOV AX,DATA
       MOV DS,AX

       MOV AH,00H
	   SAHF
	   MOV SI,OFFSET X
	   MOV AL,[SI]
       SBB AL,[SI+02H]
	   DAS
	   PUSHF
	   AND AL,0FH
	   POPF
	   MOV BL,AL
	   INC SI
	   MOV AL,[SI]
       SBB AL,[SI+02H]
	   DAS
	   PUSHF
	   AND AL,0FH
	   POPF
	   MOV 	BH,AL
	   MOV	DX,OFFSET MES1
	   MOV	AH,09H
	   INT	21H
	   MOV	AX,BX
	   CALL	SHWORD

	   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 + -