汇编语言:程序建立处理、伪操作

文章详细阐述了程序从源代码到可执行文件的处理过程,包括源程序汇编成目标文件,然后通过连接程序生成.exe文件。此外,还介绍了伪操作的概念,如段定义、数据定义、开始和结束伪操作,以及地址计数器和对齐的相关伪操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、程序建立、处理 

源程序(.asm) -> 汇编程序ASM ->目标文件(.obj) -> 连接程序link(目标文件、库文件、其他目标文件) -> 可执行文件(.exe)

二、伪操作

段定义伪操作

完整段定义​​​​​​​

储存模型与简化段定义

段组定义

开始伪操作 

结束伪操作

数据定义、储存器分配伪操作 

操作格式

助记符Mnemonic类型

操作数Operand用法

变量的类型属性

其他数据定义、储存器分配 伪操作

ptr、label 伪操作

equ 伪操作

地址计数器与对准伪操作

地址计数器 $ 

ORG伪操作

EVEN伪操作

ALIGN伪操作


一、程序建立、处理 

源程序(.asm) -> 汇编程序ASM ->目标文件(.obj) -> 连接程序link(目标文件、库文件、其他目标文件) -> 可执行文件(.exe)

二、伪操作

段定义伪操作

完整段定义​​​​​​​

data1 segment
    ...
data1 ends
    ...
data2 segment
    ...
data2 ends
codes segment
        assmue cs:code,ds:data1,es:data2
start:
        mov ax,data1
        mov ds,ax
        mov ax,data2
        mov es,ax
codes ends
end start

储存模型与简化段定义

    .model small
    .stack 100h
    .const

    .data
    ...

    .code
start:
    mov ax,@data
    mov ds,ax
    ...

段组定义

dseg1 segment word public 'data'
dseg1 ends
dseg2 segment word public 'data'
dseg2 ends
datagruop group dseg1,dseg2
cseg segment para public 'code'
    assume cs:cseg,ds:datagroup
start:
    mov ax,datagroup
    mov ds,ax
    ...
cseg ends
end start

开始伪操作 

name xx         ;程序将以给出的xx作为模块名(这个能干嘛啊)

title xx            ;可指定列表文件的每一页上打印的标题xx(这个能干嘛啊)

结束伪操作

end [label]       ;label是指示程序开始执行的起始地址

                          ;多个程序模块相连,只有主程序需要编号(不理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值