汇编程序8086 (带流程图)

这篇博客介绍了8086汇编编程中的一个实例,程序接收并累加三个字母的ASCII码,然后以十六进制形式输出结果。适合学习汇编语言者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8086汇编编程

本程序为课设限时答辩时所写,可以达到要求但过程较为繁琐,如果有错误或疑问欢迎直接在评论中提出~
连续输入三个字母(不限大小写),将三个字母的ASCII码相加后将所得的结果以十六进制数的形式显示到屏幕上

data segment
BUFF  DB 200
      DB 0
      DB 200DUP(0)  
XLE0  DB 0
XLE1  DB 0
XLE2  DB 0   
VAL1 DB 0
VAL2 DB 0  
ENDD DB 'THE END$'  
CF DB 0DH,0AH,'$'
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax  
    
LOP:CMP DI,3
    INC DI 
    JNZ LOP1 
    JZ ENDING
LOP1:MOV AH,1
    INT 21H   
    CMP AL,2CH
    JNZ LETT  
LETT:
     CMP DI,1
     JZ  T1  
     CMP DI,2
     JZ  T2
     CMP DI,3 
     JMP T3     
T1:  MOV XLE0,AL
     JMP LOP
T2:  MOV XLE1,AL  
     JMP LOP
T3:  MOV XLE2,AL
     LEA DX,CF
     MOV AH,9
     INT 21H
     JMP PLUS

PLUS:MOV BX,0
     ADD BL,XLE0
     ADD BL,XLE1
     ADD BL,XLE2
     JC GAOWEI 
     JNC DIWEI    
     
GAOWEI2:ADD BL,37H 
     JMP DIWEI2 
GAOWEI3:ADD CL,37H
    JMP DIWEI3 
    
DIWEI:
     MOV CL,BL
     AND BL,0FH
     CMP BL,09H
     JA GAOWEI2
     ADD BL,30H   
     
DIWEI2:
     AND CL,0F0H
     SAR CL,4
     AND CL,0FH 
     CMP CL,09H
     JA GAOWEI3
     ADD CL,30H
DIWEI3: 
    
     MOV AH,2 
     MOV DL,CL   
     INT 21H  
     
     MOV AH,2 
     MOV DL,BL   
     INT 21H 
     JMP ENDING   
     
GAOWEI:MOV BH,31H
     MOV AH,2     ;高8位,只有01H和00H两种情况
     MOV DL,BH
     INT 21H  
     JMP DIWEI
     
ENDING:LEA DX,CF
     MOV AH,9
     INT 21H 
        LEA DX,ENDD
        MOV AH,9
        INT 21H       
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends

end start
Created with Raphaël 2.2.0 开始
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值