zoukankan      html  css  js  c++  java
  • 汇编语言程序设计第八章

    一、bx、si、di和bp

    在8086CPU寄存器中,只有这四个寄存器可以用在"[....]"中来表示进行内存单元的寻址。

    在[....]中,这4个寄存器可以单个出现,或者只能以4种组合出现:bx和si、bx和di、bp和si、bp和di。

    使用bx, si, di表示偏移地址时,默认段地址在ds中可以加前缀es, cs,ss。只要在[....]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中,可以加前缀ds,es,cs。

    二、机器指令处理的数据在什么地方

    处理可分为3种:读取,写入,运算。机器指令不关心数据的值是多少,只关心指令执行的前一刻。将要处理的数据可以在三个地方:CPU内存、内存和端口。汇编语言中数据位置的表达。

    三、汇编语言中数据位置的表达。

    ①立即数(idata):对于直接包含在机器指令中的数据(执行在CPU的指令缓冲器中),在汇编语言中称为:立即数。

    ②寄存器:指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名。

    ③段地址(SA)和偏移地址(EA):在汇编语言中可以用[X]的格式给出EA,SA在某个段寄存器中。

    四、寻址方法

    直接寻址 ,寄存器间接寻址 ,寄存器相对寻址 ,基址变址寻址,相对基址变址寻址 。

    五、指令要处理的数据有多长

    通过寄存器名指明要处理的数据的尺寸。al->byte,  ax->word

    ②在没有寄存器名存在的情况下,用操作符X ptr指明内存单元的长度,X在汇编指令中可以为word或byte。mov word ptr ds:[0],1            mov byte ptr ds:[0],1

    ③其他方法:有些指令默认了访问的是字单元还是字节单元。

    六、寻址方式的综合应用

    七、div指令

    div是除法指令

    格式:div reg

               div 内存单元

    eg:div byte ptr ds:[0]

          (al)=(ax)/((ds)*16+0)的商

          (ah)=(ax)/((ds)*16+0)的余数

    八、伪指令dd

     dd用于定义dword(double word,双字)型数据,区别db 1/dw 1/dd 1。

    九、dup

    一个操作符,由编译器识别处理的符号。和dd、db、dw等数据定义伪指令配合使用,用于数据的重复。

    格式:db/dw/dd 重复的次数 dup (需要重复的数据)

  • 相关阅读:
    快速免费用宝塔面板加开源小程序商城源码搭建自己的商城程序
    小程序商城,到底是购买源码好还是直接使用SaaS平台好?
    51单片机串口通信的注记
    关于vi 分屏的一些指令
    偶遇bash 的while read line 的问题
    centos 6 设置无密码登录ssh 不成功问题
    关于js框架 dwz 与 yii的的分页 以及筛选的结合
    完美解决百度地图MarkerClusterer 移动地图时,Marker 的Label 丢失的问题
    微信小程序购物商城系统开发系列-目录结构
    微信小程序支付步骤
  • 原文地址:https://www.cnblogs.com/sqy1999/p/10152255.html
Copyright © 2011-2022 走看看