汇编语言实验(6)

2019-08-03 14:54

MOV AX,XH ADC AX,YH PUSH BX

CALL SHWORD

POP BX

MOV AX,BX CALL SHWORD

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

JE START0 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 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,BL AND AL,0FH CMP AL,0AH

JB C3

;判断是否有键按下;若没有转START0 ;有键返回DOS

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

;显示字符

;取低4位

- 26 -

ADD AL,07H

;显示字符r

C3: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H

POP DX POP AX RET

ENDP

CODE ENDS

END START

2 .十进制数的BCD 码减法运算

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

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DATA SEGMENT

MES 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

- 27 -

MOV BL,AL

INC SI

MOV AL,[SI] SBB AL,[SI+02H] DAS PUSHF

AND AL,0FH POPF

MOV BH,AL

MOV DX,OFFSET MES MOV AH,09H INT 21H MOV AX,BX CALL SHWORD

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

JE START0 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 SHR AL,4 CMP AL,0AH JB C2

ADD AL,07H

START0 DOS

4位 A以上的数

- 28 -

;判断是否有键按下

;若没有转;有键返回;取高;是否是

C2: ADD AL,30H

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

;显示字符

;取低4位

C3: ADD AL,30H

MOV DL,AL ;显示字符 MOV AH,02H INT 21H POP DX POP AX RET

ENDP CODE ENDS END START

3 .乘法运算实验

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

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DATA SEGMENT

MES1 DB 'The result is:$' ERRMES DB 'Error exist!$' DATA1 DB 00H,02H,03H,04H,05H DATA2 DB 03H

RESULT DB 06H DUP(0) DATA ENDS

CODE SEGMENT

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

- 29 -

MOV MOV MOV AND CMP JNC MOV MOV MOV

DS,AX

SI,OFFSET DATA2 BL,[SI] BL,0FH BL,09H

ERROR

SI,OFFSET DATA1 DI,OFFSET RESULT CX,0005H

A1: MOV AL,[SI+04H] AND AL,0FH CMP AL,09H JNC ERROR DEC SI MUL BL AAM

ADD AL,[DI+05H] AAA

MOV [DI+05H],AL DEC DI

MOV [DI+05H],AH LOOP A1

MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV CX,06H

MOV SI,OFFSET RESULT A2: CALL SHOW MOV DL,20H MOV AH,02H INT 21H INC SI LOOP A2

START0: MOV AH,06H ;判断是否有键按下 MOV DL,0FFH INT 21

JE START0 ;若没有转START0 MOV AX,4C00H ;有键返回DOS

- 30 -


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

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

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

马上注册会员

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