- 9
- 0
- 约1.15万字
- 约 19页
- 2017-06-06 发布于湖北
- 举报
加减法参考程序
DATA SEGMENT PARA PUBLIC ‘DATA’
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
DB 512 DUP (?)
STACK ENDS
CODE SEGMENT PARA PUBLIC ‘CODE’
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,0000
MOV DX,0000
MOV SI,2050H
MOV DI,2150H
MOV BP,2250H
MOV WORD PTR[SI],0205H
MOV WORD PTR[DI],0408H
MOV WORD PTR[BP],0109H
MOV AL, … ;送被加数低8位 ;低8位相加 ;加法ASCII调整MOV DL,AL ; DL=
MOV AL,[SI+1] ;AL=
… ;带进位加 ;加法ASCII调整 ;AL与DL交换 ;和的低8位减减数的低8位 ;减法ASCII调整 ;AL与DL交换,存低8位结果 ;高8位带进位减 ;减法ASCII调整MOV DH,AL ;DH=
RET
START ENDP
CODE ENDS
END START
16进制到ACII码参考程序
name HEXASC
data segment para public data
hex dw 0h
asc db 20 dup(0)
data ends
stack segment para stack stack
db 512 dup (?)
stack ends
code segment para public code
assume cs:code,ds:data, es:data,ss:stack
start proc far
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov es,ax
mov cx,0004h
mov ax, … ;取十六进制数0ebf9h
lea bx,asc
aa: push cx
… ;给循环计数器赋转换代码长度
… ;十六进制数循环左移
push ax
and ax,000fh ;AX= ;AX= AX= ;AX=
cmp al, … ;判别是否为“0~9”
… ascii ;是“0~9”转ascii
add al,07hascii: add al,30h ;al = ;al = al= ;al =
loop aa
ret
start endp
code ends
end start
ACII码到BCD码参考程序
,ES:DATA,SS:STACK
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV CX,05H
? 0; DI= ,[DI]= ……. ASCII首址送DI
… ; SI= , BCD首址送SI
BB:
MOV BL,0FFH
MOV AL,[DI] ;AL=
… ;检查是否为大于9的ASCII码
… ;是转DONE
… ;AL= ,[DI]= 不是,取ASCII码低4位
… ; 小于0的十进制数,转DONE
MOV BL,AL
DONE:
MOV AL,BL ; AL= ,[DI]=
MOV [SI],AL ;[SI]=
… ;指针加1
… ;指针加1
… ;(CX)不为0,转BB
RET [160H]=.......
ST
您可能关注的文档
最近下载
- 《消毒供应质量控制指标(2024年版)》.docx VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 2012下半年深圳市机关公开招考公务员职位表.doc VIP
- 国际期刊科技论文写作与发表.PDF VIP
- 科技英语写作讲义.pdf VIP
- 《苹果手机删除的照片如何恢复?苹果最近删除照片恢复.docx VIP
- 水平井完井工艺技术要求,SY_T6-2016.pdf VIP
- SY/T 6270-2017 石油天然气钻采设备固井、压裂管汇的使用与维护.pdf VIP
- 部编版一年级语文下册第六单元测试卷.docx VIP
- 德州职业技术学院单招职业技能测试参考试题库(含答案).docx VIP
原创力文档

文档评论(0)