汇编语言实验(4)

2019-08-03 14:54

MOV DX,OFFSET MES MOV AH,09H INT 21H

INC SI CALL SHOW

;显示高字节

DEC SI ;显示低字节 CALL SHOW

START0: MOV AH,06H MOV DL,0FFH INT 21H

JE START0 MOV AX,4C00H INT 21H

SHOW PROC NEAR

MOV AL,DS:[SI]

AND AL,0F0H SHR AL,4

CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H

MOV AL,DS:[SI]

AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H RET ENDP CODE ENDS

END START

;判断是否有键按下;若没有转START0 ;有键返回DOS ;取高4位 ;是否是A以上的数 ;显示字符 ;取低4位 ;显示字符 - 16 -

2 .十进制数的ASCII 码转换为BCD码

实验源文件名DVA3_2(在文件夹“ASM_汇编例程”中) 实验程序清单如下:

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DDATA SEGMENT

MES DB 'The BCD code of decimal are:$' BUF DB 31H,32H,33H,34H,35H DB 10H DUP(0) DDATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DDATA START: MOV AX,DDATA MOV DS,AX MOV CX,0005H

MOV DI,OFFSET BUF A1: MOV BL,0FFH MOV AL,[DI]

CMP AL,3AH ;比较AL中的数是否是0-9的ASCII码 JNB A2 SUB AL,30H JB A2 MOV BL,AL A2: MOV AL,BL

MOV [DI+05H],AL INC DI LOOP A1 MOV SI,DI MOV CX,05H MOV DX,OFFSET MES MOV AH,09H INT 21H A3: CALL SHOW MOV DL,20H MOV AH,02H

- 17 -

INT 21H

INC SI LOOP A3

START0: MOV AH,06H MOV DL,0FFH INT 21H

JE START0 MOV AX,4C00H

;判断是否有键按下

;若没有转START0 ;有键返回DOS

INT 21H

SHOW PROC NEAR MOV AL,DS:[SI] AND AL,0F0H SHR AL,4

CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H

MOV AL,DS:[SI] AND AL,0FH CMP AL,0A JB C3 ADD AL,07H C3: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H RET ENDP

;取高4位 ;是否是A以上的数

;显示字符

;取低4位

;显示字符

CODE ENDS

END START

3 .十六进制数的ASCII 码转换为十进制数

实验源文件名DVA3_3.ASM(在文件夹“ASM_汇编例程”中) 实验程序清单如下:

- 18 -

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DDATA MES DB SEGMENT

'The ascii code of hex are:$' BUF DB 0CH,00H DB

10H DUP(0)

DDATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DDATA

START: MOV AX,DDATA MOV DS,AX

MOV SI,OFFSET BUF MOV DX,[SI] MOV BX,SI ADD BX,2 ADD SI,7 A1: DEC SI MOV AX,DX MOV DX,0000H MOV CX,000AH DIV CX XCHG AX,DX ADD AL,30H MOV [SI],AL CMP DX,0000H JNE A1 A2: CMP SI,BX JZ A3

DEC SI MOV AL,30H MOV [SI],AL JMP A2 A3: MOV CX,5

MOV SI,OFFSET BUF

- 19 -

ADD SI,2

MOV DX,OFFSET MES MOV AH,09H INT 21H A4: CALL SHOW MOV DL,20H MOV AH,02H INT 21H

INC SI

LOOP A4

START0: MOV AH,06H MOV DL,0FFH INT 21H

JE START0 MOV AX,4C00H INT 21H

SHOW PROC NEAR MOV AL,DS:[SI]

AND AL,0F0H SHR AL,4

CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H

MOV AL,DS:[SI]

AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H RET

START0 ;有键返回DOS 4位 A以上的数 4位

- 20 - ;判断是否有键按下 ;若没有转 ;取高 ;是否是 ;显示字符 ;取低 ;显示字符


汇编语言实验(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某发电厂二氧化碳捕集及利用建设项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: