河北专接本微机原理编程题—————求分段函数

S=           2*x   x<0

               3*x     0<=x<=10

               4*x     X>10

DATA1 SEGMENT 
S    DB  ?
X    DB 3
DATA1 ENDS
CODE  SEGMENT
      ASSUME CS:CODE,DS:DATA1
      
START:
      MOV AX,DATA1
      MOV DS,AX
      MOV AL,X
      TEST AL,80H
      JZ LL0 ;结果为0,ZF为1跳 ,否则最高位为1,负数直接乘以2
      SHL AL,1
      JMP  LL10 ;无条件跳,送结果
      
LL0:  
      CMP AL,10
      JG  LL1  ;al大于10,跳 否则顺序执行,
      MOV BL,AL  
      SHL AL,1
      ADD AL,BL   ;AL*3
      
LL1:  SHL AL,1;AL*2
      SHL AL,1;AL*2已经乘过2了再乘一次2就行
LL10:     
      MOV S,AL       
      MOV AH,4CH
      INT 21H
      CODE ENDS
           END START 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值