【计算机体系结构】汇编语言--王爽汇编语言要点复习

本文详细介绍了8086汇编语言的基础指令及其应用,包括逻辑与指令AND、逻辑或指令OR、除法指令DIV、重复定义指令DUP等,并解释了这些指令的具体工作原理和使用场景。

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

Debug命令:

T 功能:执行下一条指令

R 功能:查看,改变寄存器中的内容

  格式: -r ax

E 功能:改写内存

  格式: -e 10000000

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

78086cpu中只有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

逻辑与指令,将相应位设为0and 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 axbx   ax = ax + bx + cf

Sbb指令简介

Sbb ax,bx  ax = ax – bx – cf

11.条件转移指令:

Jeequal 含义:等于  标志位 zf = 1

Jne        含义:不等于   标志位 zf = 0

Jbbelow 含义:低于  标志位 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        (方向)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值