文档详情

汇编程序实验源程序.pdf

发布:2025-03-23约2.44万字共23页下载文档
文本预览下载声明

;A3-1.asm

;将ASCII码十进制数转换为二进制数

STACK1SEGMENTSTAC

DW256DUP(?)

STACK1ENDS

DDATASEGMENT

MES1DBTheasciicodeofdecimalcodeare:$

BUFDB30H,30H,30H,31H,32H

DB10HDUP(0)

DDATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DDATA

START:MOVAX,DDATA

MOVDS,AX

MOVSI,OFFSETBUF

MOVBX,000AH

MOVCX,0004H

MOVAH,00H

MOVAL,[SI]

SUBAL,30H

A1:IMULBX

ADDAL,[SI+01]

SUBAL,30H

INCSI

LOOPA1

MOV[SI],AX

MOVDX,OFFSETMES1

MOVAH,09H

INT21H

INCSI;显示高字节

CALLSHOW

DECSI;显示低字节

CALLSHOW

MOVAX,4C00H

INT21H

SHOWPROCNEAR

MOVAL,DS:[SI]

ANDAL,0F0H;取高4位

SHRAL,4

CMPAL,0AH;是否是A以上的数

JBC2

ADDAL,07H

C2:ADDAL,30H

MOVDL,AL;showcharacter

MOVAH,02H

INT21H

MOVAL,DS:[SI]

推荐精选

ANDAL,0FH;取低4位

CMPAL,0AH

JBC3

ADDAL,07H

C3:ADDAL,30H

MOVDL,AL;showcharacter

MOVAH,02H

INT21H

RET

ENDP

CODEENDS

ENDSTART

;A3-2.asm

;将十进制数的ASC码转换为BCD码

STACK1SEGMENTSTACK

DW256DUP(?)

STACK1ENDS

DDATASEGMENT

MES1DBTheBCDcodeofdecimalare:$

BUFDB31H,32H,33H,34H,35H

DB10HDUP(0)

DDATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DDATA

START:MOVAX,DDATA

MOVDS,AX

MOVCX,0005H

MOVDI,OFFSETBUF

A1:MOVBL,0FFH

MOVAL,[DI]

CMPAL,3AH;比较AL中的数是否是0~9的A

显示全部
相似文档