汇编语言(一)

基本知识

汇编语言的组成

汇编语言由以下3类指令组成

  1. 汇编指令:机器码的助记符,有对应的机器码
  2. 伪指令:没有对应的机器码,有编译器执行,计算机并不执行
  3. 其他符号:由编译器识别,没有对应机器码

存储单元

存储器容量是以字节为最小单位来计算。如:一个拥有128个存储单元的存储器,容量为128字节

存储单元编号从0开始

地址总线

一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。CPU最多可以寻找2的N次方个存储单元。CPU的寻址能力为2的N次方字节(b)

地址总线的宽度决定了CPU的寻址能力

数据总线

8根数据总线一次可以传送一个8位二进制数据(即一个字节b)

数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量

控制总线

控制总线的宽段决定了CPU对系统其它器件的控制能力

寄存器

几条汇编指令

汇编指令控制CPU完成的操作用高级语言的语法描述
mov ax,18将18送入寄存器AXAX=18
mov ah,78将78送入寄存器AHAH=18
add ax,8将寄存器AX中的数值加上8AX=AX+8
mov ax,bx将寄存器BX中的数据送入寄存器AXAX=BX
add ax,bx将AX和BX中的数值相加,结果存在AX中AX=AX+BX

汇编指令或寄存器名称不区分大小写

物理地址

所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有一个唯一的地址,我们将这个唯一的地址称为物理地址。

8086CPU给出物理地址的方法

8086是16位结构的CPU。能一次性处理、传输、暂时存储16位的地址。

  1. CPU给出两个16位的地址:段地址、偏移地址
  2. 地址加法器采取物理地址=段地址*16+偏移地址合成物理地址
  3. 段地址*16相当于十六进制下左移一位数

问题2.1

在这里插入图片描述
Q:指令执行后AX中的数据为多少?
A:ax=044CH
add指令前ax和bx值为8226H,相加后值为1044CH,但ax为16为寄存器,只能存放4位十六进制数据,高位1不能存储,因此ax值为044CH

问题2.2

在这里插入图片描述
Q:指令执行后AX中的数据为多少?
A:ax=0058H
执行前,al数据为C5H,相加后为158H,al为8为寄存器,只存放2位十六进制数据,所以最高位1丢失


检测点2.1

(1)写出每条汇编指令执行后相关寄存器中的值

mov ax,62627 ax=f4a3 #62627为10进制数据,需要转为十六进制f4a3,在写出汇编指令mov ax,f4a3
mov ah,31H ax=31a3
mov al,23H ax=3123
add ax,ax ax=6246
mov bx,826CH bx=826C
mov cx,ax cx=6246
mov ax,bx ax=826C
add ax,bx ax=04D8
mov al,bh ax=0482
mov ah,bl ax=6c82
add ah,ah ax=d882
add al,6 ax=d888
add al,al ax=d810
mov ax,cx ax=6246

(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方

mov ax,2
add ax,ax
add ax,ax
add ax,ax
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值