汇编程序:多数绝对值和

简介: 【任务】在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。

【任务】在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。

data segment
  buf1 dw -56, 24, 54, -1, 89, -8, 87, -32, 23, 45
  buf2 dw 45, -23, 124, 345, -265, -214, 0, 48, -10, -12
  sum dw 10 dup (0)
data ends

【参考解答】

assume ds:data, ss:stack, cs:code

data segment
  buf1 dw -56, 24, 54, -1, 89, -8, 87, -32, 23, 45
  buf2 dw 45, -23, 124, 345, -265, -214, 0, 48, -10, -12
  sum dw 10 dup (0)
data ends

stack segment para stack
  dw 20h dup (0)
stack ends

code segment
start:
       mov ax, data
       mov ds, ax
       mov cx, 10
       lea si, buf1
       lea di, buf2
       lea bx, sum

 next: mov ax, [si]    ;取第一个数
       mov dx, [di]    ;取第二个数
       test ax, 8000h  ;8000h,最高位为1,为负
       je tdx          ;结果为0,说明ax中是正数,不需要取反
       neg ax
  tdx: test dx, 8000h
       je adds         ;结果为0,说明dx中是正数,不需要取反
       neg dx
 adds: add ax, dx      ;原数的两个绝对值相加
       mov [bx], ax    ;bx为存放结果的单元地址
       add si, 2
       add di, 2
       add bx, 2
       loop next

       mov ah, 4ch
       int 21h
code ends
  end start
目录
相关文章
|
28天前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
8086 汇编笔记(五):包含多个段的程序
8086 汇编笔记(五):包含多个段的程序
|
3月前
|
C语言
程序技术好文:部分ARM汇编指令解读
程序技术好文:部分ARM汇编指令解读
|
4月前
|
编译器 开发者 C++
8086 汇编笔记(三):第一个程序
8086 汇编笔记(三):第一个程序
|
4月前
|
存储 编译器
C51汇编程序
C51汇编程序
34 5
|
存储 Java C++
汇编语言、寄存器分类及程序计数器
汇编语言、寄存器分类及程序计数器
124 0
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
|
编译器 C语言
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
|
存储 自然语言处理 程序员
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
|
程序员 芯片 流计算
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序
105 0
MOTOROLA MVME 162-01 直接用汇编语言编程的计算机程序