接口汇编编程一

编程1:键盘输入2个数字字符,求其成绩,要求:完成编程与调试

(1)成绩保存变量中;

(2)成绩显示在显示屏上。

DATA SEGMENT
    x1 DB 0
    x2 DB 0 
DATA ENDS     

CODE SEGMENT
    ASSUME DS:DATA,CS:CODE
START:MOV AXDATA
      MOV DS,AX
      MOV AH,1
      INT 21H
      MOV BL,AL
      SUB BL,30H  
      MOV DL,2AH
      MOV AH,2
      INT 21H         
      MOV AH,1
      INT 21H 
      SUB AL,30H
      MOV AH,0  
      MUL BL  
      aam
      ADD AH,30H
      MOV x1,AH  
      ADD AL,30H 
      MOV x2,AL      
      MOV BX,AX      
      MOV AH,2
      MOV DL,3DH
      INT 21H  
      MOV AH,2
      MOV DL,BH
      INT 21H
      MOV DL,BL
      INT 21H
      MOV AH,4CH
      INT 21H 
CODE ENDS
     END START

编程2
编程统计变量S(200个数)中正数、负数、0的个数,分别存放到变量Z、F、L中,并求出所有正数的平均值(整数)存放到P变量中。

DATA SEGMENT 
    S DB 50 DUP(-1,-6), 40 DUP(0), 20 DUP(1,2,3)
    Z DB 0  ;正数的个数
    F DB 0  ;负数的个数
    L DB 0  ;0的个数
    SUM DB 0  ;正数的总和
    P DB 0  ;正数的平均值    
DATA ENDS    

CODE SEGMENT
    ASSUME DS:DATA,CS:CODE
START: MOV DX,DATA 
       MOV DS,DX
       MOV CX,200 ;计数器的值,控制循环次数
       MOV SI,OFFSET S  ;取偏移地址 
       
COMPARE: CMP BYTE PTR[SI],0   ;0比较大小
         JG POSITIVE ;为正数,跳到POSITIVE执行
         JS NEGTIVE ;为负数
         JZ ZERO ;0            

POSITIVE: INC Z ;Z1   
          MOV AL, [SI]
          ADD SUM, AL
          JMP NEXT   
          
NEGTIVE: INC F
         JMP NEXT                          
         
ZERO: INC L
      JMP NEXT            

NEXT: INC SI
      LOOP COMPARE   
      MOV BL,SUM
      MOV AX,1
      MUL BL  ;实现了将被除数放在AXMOV BL,Z
      IDIV BL 
      MOV P,AL  ;商在ALMOV AH,4CH 
      INT 21H
CODE ENDS
     END START
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少年李富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值