网站大量收购闲置独家精品文档,联系QQ:2885784924

Assembly 基本语法.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Assembly 基本语法

Assembly 基本语法 汇编程序可以分为三个部分: 数据段 bss段部分 ⽂字部分 数据段 ⽤于声明初始化数据或常量的数据段。在运⾏时,此数据不改变。在本节中 以声明 不同的常量值,⽂件名或缓冲区⼤⼩等。 声明数据段的语法是: section .data bss段 BSS部分是⽤于声明变量。声明bss段段的语法是: section .bss ⽂本段 ⽂字部分⽤于保存实际的代码。本节开头必须的的声明global_start ,告诉内核程序开 始执⾏。 声明⽂本部分的语法是: section .text global _start _start: 注释 汇编语⾔注释以分号 (;) 。它 能包含任何 打印的字符,包括空⽩。它 以出现⼀ ⾏本⾝,如: ; This program displays a message on screen 或者,在同⼀⾏上的指令,如: add eax ,ebx ; adds ebx to eax Assembly汇编语⾔语句 汇编语⾔程序包括三个类型的语句: 执⾏指令或指令 汇编指令或伪操作 宏 执⾏指令或简单指⽰告诉的处理器该怎么做。每个指令由操作码 (操作码) 执⾏ 指令⽣成的机器语⾔指令。 汇编指令或伪操作告诉汇编有关汇编过程的各个⽅⾯。这些都是⾮ 执⾏⽂件,并不 会产⽣机器语⾔指令。 宏基本上是⼀个⽂本替换机制。 汇编语⾔语句的语法 汇编语⾔语句输⼊每⾏⼀个语句。每个语句如下的格式如下: [label] mnemonic [operands] [;comment] ⽅括号中的字段是 选的。基本指令有两部分组成,第⼀个是要执⾏的指令 (助记 符)的名称和所述第⼆命令的操作数或参数的。 以下是⼀些典型的汇编语⾔语句的例⼦: INC CO NT ; Increment the memory variable CO NT MOV TOTAL, 48 ; Transfer the value 48 in the ; memory variable TOTAL ADD AH, BH ; Add the content of the ; BH register into the AH register AND MASK1, 128 ; Perform AND operation on the ; variable MASK1 and 128 ADD MARKS, 10 ; Add 10 to the variable MARKS MOV AL, 10 ; Transfer the value 10 to the AL register Assembly Hello World程序 下⾯的汇编语⾔代码显⽰字符串 Hello World在屏幕上: section .text global _start ;must be declared for linker (ld) _start: ;tells linker entry yiibai mov edx,len ;message length mov ecx,msg ;message to write mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db Hello, world!, 0xa ;our dear string len equ $ - msg ;length of our dear string 上⾯的代码编译和执⾏时,它会产⽣以下结果: Hello, world! ⼀个汇编程序的编译和链接在NASM 请确保已设置NASM和LD的⼆进制⽂件的路径在PATH环境变量中。现在上述程序的

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档