汇编语言——实验五

题目5、
(1)找出10个数(8位数)里的正数个数 (数据自己定义)

代码:

 data segment
        array db 1,2,-3,-4,-5,6,-7,-8,9,-10
data ends
code segment
         assume cs:code,ds:data
start:
         mov ax,data
         mov ds,ax
         sub bx,bx
         lea si,array
         mov cx,10
lp:
         test byte ptr[si],80h ;[SI]中的数的符号位和1000 0000B相与,如果结果不是0,那么代表是负数,反之,正数
         jnz next
         inc bx  ; BX记录正数的个数
next:
         inc si
         loop lp
         mov ah,4ch
         int 21h
code ends
         end start

运行截图:
在这里插入图片描述

(2)找出10个数(16位数)里的负数个数 (数据自己定义)

代码:

data segment
        array dw 1,2,-3,-4,-5,6,-7,-8,9,-10
data ends
code segment
         assume cs:code,ds:data
start:
         mov ax,data
         mov ds,ax
         sub bx,bx
         lea si,array
         mov cx,10
lp:
         test word ptr[si],8000h
         jz next
         inc bx ; BX记录负数的个数
next:
         inc si
         loop lp
         mov ah,4ch
         int 21h
code ends
         end start

运行截图:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值