汇编语言程序设计(八)数据处理的两个基本问题

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了汇编语言程序设计(八)数据处理的两个基本问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • 数据处理两个基本问题
  • 寄存器reg与段寄存器sreg
  • 机器指令处理的数据所在位置
  • 汇编语言中用来表达数据位置的三个概念
  • 寻址方式
  • 指令要处理的数据有多长
    • 通过寄存器名指明要处理的数据的尺寸
    • 用操作符X ptr指明内存单元的长度
    • 其他方法
  • div除法指令
  • 伪指令dd
  • dup操作符

数据处理两个基本问题

  • 处理的数据在什么地方
  • 要处理的数据有多长

寄存器reg与段寄存器sreg

汇编语言程序设计(八)数据处理的两个基本问题

汇编语言程序设计(八)数据处理的两个基本问题

  • 在8086CPU中,只有bx,bp,si,di这四个寄存器可以用在中括号中用于寻址,其它寄存器比如ax就不行。

  • bx,bp,si,di用于寻址时只能有4种组合 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

  • 寄存器bp用于寻址时,即只要在[]中使用寄存器bp,而指令中没有显式给出段地址,则段地址默认在栈段寄存器ss中。

机器指令处理的数据所在位置

  • 指令执行前,所要处理的数据可以在三个地方,即CPU(寄存器),内存、端口 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

汇编语言中用来表达数据位置的三个概念

  • 立即数,即idata,立即数是直接在汇编指令中给出的数据,比如 mov ax, 1中的1,这个数不是存放在数据段的,而是在代码段,并且在执行前存放在CPU的指令缓冲器中。
  • 寄存器,顾名思义,数据可以存放在cpu的寄存器中。
  • 段地址SA和偏移地址EA,即指令要处理的数据在内存中,通过段地址和偏移地址来寻址,其中存放段地址的寄存器可以是默认的,也可以显式给出。

寻址方式

  • 只有当数据在内存中的时候才需要寻址,用段地址和偏移地址定位内存单元的方法称为寻址方式。 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

指令要处理的数据有多长

  • 8086CPU的机器指令可以处理两种尺寸的数据,byte和word,所以在指令中要知名进行的是字操作还是字节操作。
  • 可以通过三种方法指明要处理的数据有多长

通过寄存器名指明要处理的数据的尺寸

汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

用操作符X ptr指明内存单元的长度

  • 在没有寄存器名存在的情况下(即可能只操作了内存单元,或者内存单元与立即数),用操作符X ptr指明内存单元的长度,X在汇编指令中可以为word或byte 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

其他方法

  • 有些指令默认了访问的是字单元还是字节单元,比如push指令,只进行字操作,一次两个字节。

div除法指令

  • 除数:8位或者16位,存放在寄存器或内存单元中
  • 被除数:默认放在AX或 DX和AX中
  • 当除数是8位时,被除数是16位,默认放在AX中。商在AL中,余数在AH中。
  • 当除数是16位时,被除数是32位,默认放在DX+AX中。商在AX中,余数在DX中。 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

伪指令dd

  • db和dw分别用来定义字节型数据和字型数据,dd则用来定义dword,即双字型数据。 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

dup操作符

  • 与db、dw、dd一样,是由编译器识别处理的符号,dup是一个操作符,dup与前述三个指令一起用,用来进行数据的重复。如下例子,dup()括号中是重复元,前边的数字3是重复次数。 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题 汇编语言程序设计(八)数据处理的两个基本问题汇编语言程序设计(八)数据处理的两个基本问题

脚本宝典总结

以上是脚本宝典为你收集整理的汇编语言程序设计(八)数据处理的两个基本问题全部内容,希望文章能够帮你解决汇编语言程序设计(八)数据处理的两个基本问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。