【汇编语言-王爽】第六章:包含多个段的程序

知识点

  • start标号:在源程序中指明程序的入口。

实验5: 编写、调试具有多个段的程序

代码

(5) 将a段和b段中的数据依次相加,将结果存到c段。

复制代码
assume cs:code

a segment
        db 1,2,3,4,5,6,7,8
a ends

b segment
        db 1,2,3,4,5,6,7,8
b ends

c segment
        db 0,0,0,0,0,0,0,0
c ends

code segment     
         start: mov ax,c
                mov es,ax

                mov bx,0
                mov cx,8

             s: mov dx,0

                mov ax,a
                mov ds,ax
                mov dx,ds:[bx]

                mov ax,b
                mov ds,ax
                add dx,ds:[bx]

                mov es:[bx],dx
                
                inc bx
                loop s

                mov ax, 4c00h
                int 21h

code ends
end start

(6)用push指令将a段中的前8个字型数据,逆序存储到b段中。

复制代码
assume cs:code
a segment
        dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends

b segment
        dw 0,0,0,0,0,0,0,0
b ends

code segment
        start:  mov ax,b
                mov ss,ax
                mov sp,16

                mov ax,a
                mov ds,ax

                mov bx,0
                mov cx,8
             s: push ds:[bx]
                inc bx
                inc bx

                loop s

                mov ax,4c00h
                int 21h

code ends
end start
相关推荐
水饺编程8 小时前
第2章:Linux 基础,重启命令
linux·c语言·汇编
en.en..1 天前
volatile 完整深度教程(C 代码 + 带注释 ARM 汇编 + 硬件中断原理 + 分步运行时序)
c语言·汇编·arm开发
水饺编程2 天前
第2章:Linux 基础,rm 命令
linux·c语言·汇编
水饺编程2 天前
第2章:Linux 基础,关机命令
linux·c语言·汇编
en.en..3 天前
汇编与 C 语言 互调用
汇编
wuminyu4 天前
Continuation::freeze与thaw的x86_64汇编Stack Chunk拆解源码分析
java·linux·c语言·汇编·jvm·c++
en.en..5 天前
ARM 汇编 B / BL 核心区别
汇编·arm开发
水饺编程5 天前
第2章:Linux 基础,mkdir 命令的简单入门
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,echo 命令
linux·c语言·汇编
水饺编程7 天前
第2章:Linux 基础,clear 命令
linux·c语言·汇编