第 11 页
3、实验代码 DATA SEGMENT
OUP DB 'THE ASCII OF 7963 IS:','$' A1 DB 07H,09H,06H,03H DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX
MOV DX,OFFSET OUP MOV AH,09H INT 21H MOV CL,4 MOV SI,0 NEXT:
MOV AL,A1[SI] ;将A1的第SI个数据传给AL MOV BL,AL
OR AL,30H ;加30转换为ASCII码值 SHR AL,4
AND AL,0FH ;将右移后的高位清零
ADD AL,30H ;因为ASCII码与值之间相差30 MOV DL,AL
MOV AH,2 ;输出对应的ASCII码 INT 21H
第 12 页
MOV AL,BL AND AL,0FH ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV DL,' ' MOV AH,02H INT 21H INC SI LOOP NEXT EXIT:
MOV AH,4CH INT 21H CODE ENDS END START 实验结果
第 13 页
第 14 页
4、实验代码
DATA SEGMENT
YI DB 100 DUP(88H)
ER DB 100 DUP(00H) ;定义数组 MES DB 'THE NUMBER OF COUNTER IS: ','$' DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: MOV AX,DATA MOV DS,AX
MOV CL,100 MOV CH,00H LEA SI,YI LEA DI,ER NEXT: MOV AL,[SI]
MOV [DI],AL INC SI INC DI INC CH
MOV DX,OFFSET MES MOV AH,9 INT 21H
CALL COUNT DEC CL
;计数器初值
;转移次数统计,初值 ;将内存块1的偏移量给SI ;将内存块2的偏移量给DI ;将YI中的数据复制到ER中 ;显示字符串 ;调用子程序 ;计数减1
第 15 页