【计算机体系结构】汇编语言--王爽汇编语言要点复习
来源:互联网 发布:java函数重载 编辑:程序博客网 时间:2024/05/06 23:51
Debug命令:
T功能:执行下一条指令
R功能:查看,改变寄存器中的内容
格式:-r ax
E功能:改写内存
格式:-e 1000:0000
D功能:查看内存中的内容
格式: -d 1000:0000 或者–d 1000:0 9
U功能:查看内存中机器码对应的机器指令
格式: -u 1000:0000
小知识:
(1)段前缀:用于显示指明内存单元段地址的段寄存器如ds,cs,ss,es
(2)向寄存器里写入数据只能通过寄存器传递的方式。
(3)一段安全的地址空间00200~002ff 256字节。
(4)对段地址的引用 mov ds,ax
(5)大小写字母转换的规律
大写字母ascii第五位是0,小写字母第五位是1
(6)更灵活的定位内存地址的方法【bs+si+idata】
(7)8086cpu中只有bx,si,di,bp可以进行内存单元的寻址,可单个出现或者以两两组合的形式出现,其中只能有以下四种组合bx+si,bx+di,bp+di。
(8)只要在【】中使用寄存器bp,那么段地址默认放在ss中。
(9)在没有寄存器存在的情况下,用操作符x ptr 指明内存单元的长度如:mov word ptr ds:[0].
(10)转移指令原理:
Ip修改值为ip = ip + 8位位移(标号处的地址– jmp指令后第一个字节的地址)
(11)在显存中,在一行中一个字符占两个字节低位ASCII码,高位属性值。
属性字节格式
7
6
5
4
3
2
1
0
Bl
R
G
B
I
R
G
B
闪烁
背景:红绿蓝
高亮
前景
几条指令:
1. Cmd
逻辑与指令,将相应位设为0,and al,10111111b
2. Or
逻辑或指令 将相应位设为1 , or al,00010000b
3. Div
指令简介:
a. 如果除数为8位,则被除数为16位,除数放在寄存器或内存单元中,被除数默认放在ax中
b. 如果除数为16位,则被除数为32位,ax存放低16位,dx存放高16位。
c. 如果8位除法,则al存放商,ah存放余数;如果16位除法,则ax存放商,dx存放余数
Div reg div byte ptr ds:[0] div word ptr [bx+si+8]
4. Dup
重复定义 db 3 dup(0)申请了三个字节的内存空间,值为0
5. Call
指令执行过程 push ip jmp near ptr 标号
6. Ret
指令执行过程 pop ip
7 Call far ptr 标号
执行过程 push cs push ip jmp far ptr 标号
8 Retf
执行过程pop ip pop cs
9. Mul
乘法指令(必须都是8位或者16位)
如果8位,一个放在al中,另一个放在内存字节单元中,结果默认在dx中;
如果16位,一个放在ax中,另一个放在16位寄存器或内存字单元中,结果高位放在dx中,低位放在ax中。
10.Adc
指令简介
功能:带位加法运算,利用了cf标志位上的进位值
Adc ax,bx ax = ax + bx + cf
Sbb指令简介
Sbb ax,bx ax = ax – bx – cf
11.条件转移指令:
Je(equal)含义:等于 标志位 zf = 1
Jne 含义:不等于 标志位 zf = 0
Jb(below)含义:低于 标志位cf = 1
Jnb 含义:不等于 标志位cf = 0
Ja(above)含义:高于 标志位 cf = 0 zf = 0
Jna 含义:不高于 标志位 cf = 1 zf = 1
12.串传送指令movsb
相当于执行:mov es:[di],byte ptr ds:[si]
如果 df = 0则si++,di++否则si--,di--。
13.Pushf将标志寄存器的值压栈.
14.popf从栈中弹出数据到标志寄存器。
标志寄存器在debug中的表示
1 0
Of ov nv (溢出)
Sf ng pl (负号)
Zf zr nz (零)
Pf pe po (奇偶-1的个数是否为偶数)
Cf cy nc (进位)
Df on vp (方向)
- 【计算机体系结构】汇编语言--王爽汇编语言要点复习
- 汇编语言与计算机体系结构
- 复习汇编语言
- 汇编语言复习
- 【计算机体系结构】汇编语言--jmp 指令 IP修改问题
- 大学计算机课程复习--汇编语言
- 重新复习汇编语言
- 汇编语言复习笔记
- 16位汇编语言复习
- 【复习拾遗】 汇编语言
- 汇编语言复习练习题
- 《王爽汇编语言》读书笔记
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- oracle tablesapce
- 无有
- 操作系统——内存管理综述
- aodv协议源代码分析
- python设计模式(1)-Simple Factory(Static Factory)(简单工厂)
- 【计算机体系结构】汇编语言--王爽汇编语言要点复习
- C#利用批处理文件删除自身的方法
- perl5中文教程
- 很久没买书了送2本书给自己
- Solr DataImportHandler 之一 关系数据库批量和增量导数据
- JModeltest使用说明
- 嵌入式文件系统工具的来源
- SAP JCo3安装在LINUX系统
- Solr DataImportHandler 之二 XML/http导入