赞
踩
功能:PRINT子程序在屏幕上显示AL寄存器中的内容,0-9则在屏幕上显示0-9,大于9的在屏幕上显示英语字母。
- DATA SEGMENT
- TABLE DB 1,2,8,9, 10,11,34,35, 36,37,40,41, 42,43,66,67
- ;1-9 显示 1-9
- ;10-35 显示A-Z
- ;36-41 显示其他字符
- ;42-67 显示a-z
- NUM EQU ($-TABLE)
- DATA ENDS
-
-
- CODE SEGMENT
- ASSUME: CS:CODE, DS:DATA
- START:MOV AX,DATA
- MOV DS,AX
-
- MOV CX,NUM ;CX保存TABLE中数字个数,用于循环判断
- LEA SI,TABLE ;地址指针SI指向TABLE储存区首地址
-
- L: MOV AL,[SI]
- CALL PRINT
- INC SI
- LOOP L
-
- MOV AH, 4CH
- INT 21H
-
- ;显示子程序
- PRINT PROC NEAR
- PUSH DX
-
- MOV DL,AL
- CMP DL,9 ;判断是否 <=9
- JLE ADD1 ; 是 ---> ASCII码加30H
- JNLE ADD2 ;不是 ---> ASCII码加37H
-
- ADD1: ADD DL,30H
- JMP PRI
-
- ADD2: ADD DL,37H
-
- PRI: ;显示
- MOV AH,02H
- INT 21H
- ;加回车符
- MOV DX,0DH
- INT 21H
- ;加换行符
- MOV DL,0AH
- INT 21H
-
- POP DX
- RET
- PRINT ENDP
-
-
- CODE ENDS
- END START
结果:
对应关系:1-9 显示 1-9
10-35 显示A-Z
36-41 显示其他字符
42-67 显示a-z
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。