QQ网名大全

汇编语言:把长度为n的字数组table中的负数取绝对值,并统计负数的个数

data segment
  table dw n dup (?)   ; 自行修改这n个值,改成 table dw x, x,x,x,x,x .... 的形式
  n equ $-table       ;数组长度
  l dw  0             ;负数个数
data ends
code segment
assume cs:code, ds:data
start:
  mov ax, data
  mov ds, ax

  mov cx, n
  lea si, table ;si->table
_l1:
  mov ax, [si]
  test ax, 8000h; 判断最高位是否为1
  jz next       ; 判断结果为0时,表明最高位是0,该数是正数
  neg ax        ;取绝对值
  mov [si], ax  ;
  inc 1         ;个数加1
next:
  inc si
  loop _l1      ;循环下一个

  mov ah, 4ch
  int 21h;  退出
code ends
end start
佚名
2024-05-21 06:13:33
最佳回答
类似问题(10)