2021-4-18汇编语言
2021/4/18 22:25:09
本文主要是介绍2021-4-18汇编语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
内存单元和地址
– 物理地址:通常使用十六进制表示
– 内存单元与内存容量有关
– 物理地址的最大值
1.CPU运算能力
2.地址总线宽度
16位的CPU对应的地址总线是16根,最大地址位0xFFFF。
32位————————————32————————0xFFFFFFFF。
-
物理地址 = 段地址16+偏移地址
例:再8086CPU是16位,但地址总线有20根,本来最大只能表示16位地址值,但CPU设计者为了能表示20位地址,使用段地址16+偏移地址表示20位地址。 -
如果表示一个20位物理地址0xFFFFA,有以下写法
0xFFFFA=0xFFFF16+0x000A //=0xFFFF0+0x000A
0xFFFFA=0xFFF016+0x00FA
0xFFFFA=0xFF0016+0x0FFA
0xFFFFA=0xF00016+0xFFFA
计算机的寻址能力不仅和CPU有关,还和地址总线有关。
栈和队列
栈和的队列都是数据存储结构,数据结构大致包括
- 线性表,还可细分为顺序表、链表、栈和队列
- 树结构,包括普通树、二叉树、线索树
- 图存储结构
- 队列结构:先进先出。
- 栈存储结构:先进后出。
– 用于存储临时数据,对数据进行暂时性保护,不被复写。
寄存器和栈的区别
- 寄存器是通用的容器,所有的函数都可以对寄存器都可以操作。(寄存器中的数据容易被干扰,用于短期使用)
汇编语言
工具下载
链接:https://pan.baidu.com/s/1dtZihaDdtc6OT1fnnWqb3g
提取码:bxit
汇编语言:指令集。
8086语法和指令集,16位。
x86汇编语法
1.注释
;我是注释(分号)
2.变量取值和赋值(传送指令)
-
;赋值
mov ax,2000H ;将十六进制2000赋值给十六位寄存器ax相当于ax = 2000H -
;取值
mov bx,ax ;将ax中的值取出赋值给bx。
– 存放的数据大小根据使用的寄存器而定,比如ax是16位寄存器 ,只能存放16位数据
– 十六进制数据不能以字母开头,前面需要加0,例如0FFFFH
– 无符号数据默认为10进制数据
3.函数声明
- 结构
结构名:
函数体
ret ;结尾标记|跳到调用函数的下一句
- 4.函数调用
x86架构中使用关键指令:call
示例:
call print mov ah, 4ch int 21h print: mov dx,offset str mov ah,9ch int 21h ret
这篇关于2021-4-18汇编语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性