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

知识点

  • 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
相关推荐
百年孤独_5 天前
对于基础汇编的趣味认识
汇编·性能优化
xiaozhiwise5 天前
ARM base instruction -- ccmp
汇编
向你扔鸡爪7 天前
Visual Studio-X64汇编编写
汇编·windows·visual studio
Lordaeron_ESZ7 天前
CSAPP Attack Lab
linux·汇编
xiaozhiwise8 天前
ARM base instruction -- sxtw
汇编
天赐细莲12 天前
C++的哲学思想
java·c语言·汇编·c++·python
王鑫的博客88612 天前
ARM基础知识点及简单汇编语法
linux·汇编·arm开发
洛书千年12 天前
linux驱动开发-arm汇编基础
汇编·arm开发·驱动开发
小咖拉眯12 天前
vscode将c++项目打包exe进行反汇编练习
c语言·汇编·c++·ide·vscode·安全·密码学
妖怪喜欢风14 天前
Linux 5.0在start_kernel之前做了什么事?(以aarch64为例)
linux·汇编